写点什么

Docker:第七章:Docker 搭建私服 - 本地镜像库

  • 2022 年 4 月 21 日
  • 本文字数:1561 字

    阅读完需:约 5 分钟

docker pull registry


[](()然后查看镜像




sudo docker images


[](()启动该容器



[](()创建目录,这里以/opt/data/registry 为宿主机存储的目录

mkdir -p /opt/data/registry

[](()运行镜像,配置端口以及将容器内的数据映射挂载在自己指定的目录上

docker run -d -v /opt/data/registry:/var/lib/registry -p 5000:5000 --restart=always --privileged=true --name private_registry registry:latest


参数说明:


-d : 让容器可以后台运行


-itd:在容器中打开一个伪终端进行交互操作,并在后台运行;


-v:把宿主机的 opt/data/registry 目录绑定 到 容器/var/lib/registry 目录(这个目录是 registry 容器中存放镜像文件的目录),来实现数据的持久化;


-p:映射端口;访问宿主机的 5000 端口就访问 《一线大厂 Java 面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义》开源 到 registry 容器的服务了(前者是宿主机的端口号,后者是容器的端口号);


–restart=always:这是重启的策略,假如这个容器异常退出会自动重启容器;


–name private_registry:创建容器命名为 private_registry,你可以随便命名;


registry:latest:这个是刚才 pull 下来的镜像;


如果成功执行,则表示我们的 docker 私有仓库搭建成功。


下面对这条命令的部分内容做下说明。


/r Java 开源项目【ali1024.coding.net/public/P7/Java/git】 egistry 表示宿主机目录,该目录如果不存在会自动创建。


docker -v 宿主机目录:容器目录

[](()查看是否启动成功

sudo docker ps


这个时候镜像运行成功说明本地的镜像仓库就已经弄好了,是不是很快,别急,还要把自个的项目弄到本地镜像仓库上面去,到时候就可以直接通过命令拉取本地镜像仓库运行项目了,下面我以 tomcat 作为我们实际运行的项目为例。


[](()在客户端制作 tomcat 镜像


===========================================================================


docker pull tomcat


这个时候,如果已经成功拉取 tomcat 之后,后面需要把我们客户端的 tomcat 推送到我们的私服上面去,到时候我们就可以直接通过私服拉取,而不是官方的 docker hub,官方的私库需要自己去注册账号并且登录上去做操作,我们这里主要讲本地镜像仓库。那有同学可能会问了,服务器掉一个东西,肯定是需要登录或者给个什么密钥才能允许操作的呀,这就是后面我们要配置的东西了,docker 私有仓库服务器,默认是基于 https 传输的,所以我们需要在客户端做相关设置,不使用 https 传输。


[](()修改/etc/docker/daemon.json 文件


========================================================================================


vi /etc/docker/daemon.json


将私服的 ip 替换进去


{


"registry-mirrors": ["https://njrds9qc.mirror.aliyuncs.com"],


"insecure-registries":["你私服本地镜像仓库的 ip:5000"]


}


重置配置


systemctl daemon-reload


重启 docker


systemctl restart docker


[](()制作属于自个的 tomcat 镜像


============================================================================


[](()查看 tomcat 镜像 id




docker images



[](()开始制作:docker tag tomcat 镜像 id 私服本地镜像仓库的 ip:5000/tomcat




#我的镜像 id 是 b0e0b0a92cf9,ip 我就不暴露了


docker tag b0e0b0a92cf9 私服 ip:5000/tomcat


[](()推送到私服本地镜像仓库上


=========================================================================


docker push 私服 ip:5000/tomcat


[](()客户端(轻量)和服务器(G5)上分别执行 curl -X GET http://私服 ip:5000/v2/_catalog,查看私有仓库的镜像信息,都能见到相同的信息


================================================================================================================================================


curl -X GET http://私服 ip:5000/v2/_catalog

最后

终极手撕架构师的学习笔记:分布式+微服务+开源框架+性能优化



用户头像

还未添加个人签名 2022.04.13 加入

还未添加个人简介

评论

发布
暂无评论
Docker:第七章:Docker搭建私服-本地镜像库_Java_爱好编程进阶_InfoQ写作社区