【收集】Docker实战集锦

容器(5)--Docker 仓库--2.Docker-regis

2020-03-15  本文已影响0人  Explorer_z

镜像的私有仓库

Docker官方提供了docker-registry组件,我们可以用它来构建我们的私有镜像仓库。
安装docker-registry

服务器端(私有仓库的搭建)

Step 1开始下载最新的镜像。

docker search registry
docker pull registry

docker images 查看镜像是否pull成功


image.png

Step2 启动并且挂载镜像仓库到本地磁盘

docker run -d -v /registry:/home/docker-registry -p 5000:5000 --restart=always -- privileged=true --name registry registry:latest

#-d 后台运行 -v -p 端口 --restart=always 高可用 --privileged=true 安全

查看容器启动进程


image.png

-v /registry:/home/docker-registry:默认情况下,会将仓库存放于容器内的/home/docker-registry目录下,指定本地目录挂载到容器。
-p 5000:5000 :端口映射。即本地5000端口,映射到registry中的5000端口。
–restart=always1:在容器退出时总是重启容器,主要应用在生产环境。
–privileged=true:在CentOS7中的安全模块selinux把权限禁掉了,参数给容器加特权,不加上传镜像会报类似权限错误。OSError: [Errno 13] Permission denied: ‘/tmp/registry/repositories/liibrary’)或者(Received unexpected HTTPstatus: 500 Internal Server Error)
–name registry:指定容器的名称。
为了持久化数据,将volume挂载到/home/docker-registry

setp 3 修改配置文件 , 进入浏览器查看

vim /etc/docker/daemon.json 
{ "registry-mirrors": ["https://ulisdva8.mirror.aliyuncs.com"], 
         "insecure-registries":["192.168.88.250:5000"]       }          #加入这句 
systemctl daemon-reload                                    #这个一定不要忘记 
systemctl restart docker

浏览器中打开 出现 {} 表示运行成功


image.png

step4 上传镜像到仓库中

docker pull nginx 
docker tag nginx:latest localhost:5000/nginx:v1 #改标签 
docker push localhost:5000/nginx:v1 #push到私有仓库

打包上传镜像


image.png

浏览器验证


image.png

另一台Docker主机上验证 :客户端(公司其他员工)

  1. 修改配置文件
vim /etc/docker/daemon.json 
{ "registry-mirrors": ["https://ulisdva8.mirror.aliyuncs.com"], 
         "insecure-registries":["192.168.88.250:5000"]       }          #加入这句 
systemctl daemon-reload                                    #这个一定不要忘记 
systemctl restart docker

2.拉取镜像

docker pull 192.168.88.250:5000/nginx:v1 #可以通过docker images检测ID一样与宿主机
  1. push 操作试验
#能pull就能
push docker tag ubuntu:19.04 192.168.88.250:5000/ubuntu:v1 #改标签 
docker push 192.168.88.250:5000/ubuntu:v1 #push到服务器端
上一篇 下一篇

猜你喜欢

热点阅读