环境准备:

   镜像仓库服务器(CentOS 7)

   已安装完毕docker服务

搭建开始

1.拉取registry镜像

   docker pull registry

2.查看registry镜像

  docker images

  

3.创建registry容器并启动服务

  首先在在主机上新建一个目录,供存储镜像

   mkdir /usr/local/docker_regitry

  创建容器

   docker run -d -p 5000:5000 --name=jackspeedregistry --restart=always --privileged=true  -v /usr/local/docker_registry:/var/lib/registry  docker.io/registry

 解释:
  -p 5000:5000 端口
  --name=jackspeedregistry 运行的容器名称
  --restart=always 自动重启
   --privileged=true centos7中的安全模块selinux把权限禁止了,加上这行是给容器增加执行权限
  -v /usr/local/docker_registry:/var/lib/registry 把主机的/usr/local/docker_registry 目录挂载到registry容器的/var/lib/registry目录下,假如有删除容器操作,我们的镜像也不会被删除
  docker.io/registry  镜像名称
查看启动的容器
docker ps -a

 

到这里,镜像仓库就搭建好了。

4.测试本地镜像仓库

 (1)拉取公共仓库的mysql镜像,

  docker pull mysql

  (2)打tag

    docker tag docker.io/mysql 192.168.180.129:5000/mysql

   docker.io/mysql是从公共仓库拉取的镜像名,192.168.180.129是本地镜像仓库

  (3)上传镜像到本地镜像仓库

    

     出现上面截图中的问题,需要给docker注册https协议,支持https访问

     vi /etc/docker/daemon.json  如果没有这个文件就创建一个。修改内容如下:

     {"insecure-registries":["192.168.180.129:5000"]}

     重启docker服务

     service docker restart

     重新推送镜像

     

    (4)拉取本地仓库刚刚上传的镜像(可把之前的创建的tag镜像删除)

      docker pull 192.168.180.129:5000/mysql

     

   测试成功。

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐