Docker私有镜像仓库搭建

  上一篇 我大致的介绍了什么是docker?,为什么使用docker以及怎么使用docker?只要多加练习,很快就能熟练的掌握这些基本的命令。

  好了,话不多说,我们就直接来干货吧!

  注意:命令是基于Centos7.5+的系统环境。

拉取镜像仓库

docker pull registry

更改镜像名称

# ip修改成执行执行这个命令的服务器的ip
docker tag registry:latest 172.18.14.188:5000/mytestdocker:redistry

启动私服镜像

docker run -it -p 172.18.14.188:5000:5000 -v /opt/data/registry:/var/lib/registry -d 172.18.14.188:5000/mytestdocker:redistry

镜像上传的私服库

# 可以从远程仓库拉取mysql或者redis镜像之类的来上传到私服库
docker push 172.18.14.188:5000/mytestdocker:redistry

但是这样是无法将这个镜像push到私有仓库的。需要在docker的配置文件/etc/docker/daemon.json (没有的话需要新建)中增加 “insecure-registries“参数配置:

# 启用不安全的注册表
{ "insecure-registries" : ["172.18.14.188:5000"] } # 重新加载配置文件,重启docker服务使配置生效 systemctl daemon-reload systemctl restart docker # 找到之前启动过的容器iddocker ps -a

查询私服库信息

curl http://172.18.14.188:5000/v2/_catalog

打印如下:

查询仓库中镜像

curl http://172.18.14.188:5000/v2/mytestdocker/tags/list

打印如下:

 

修改标签

docker tag nginx:latest 172.18.14.188:5000/nginx:latest

上传镜像到仓库

docker push 172.18.14.188:5000/nginx:latest

 

注意:

docker默认是不开启远程访问的。

开启远程的方法如下:

vim /usr/lib/systemd/system/docker.service

 

 在 ExecStart 属性后面追加 -H unix:///var/run/docker.sock -H 0.0.0.0:2375

 然后看看是否生效:

# 刷新配置
systemctl daemon-reload
# 重启docker systemctl restart docker
# 查看docker的运行状态 systemctl status docker
# 查看端口情况 netstat
-tnlp | grep 2375
posted @ 2019-08-17 21:58  itwetouch  阅读(342)  评论(0编辑  收藏  举报