8516830 发表于 2018-5-27 12:07:43

Docker本地私有仓库的建立

  环境:
  192.168.139.26 docker的客户端
  192.168.139.52 docker的服务器端(仓库所在位置)
  

  首先在192.168.139.52上下载registry镜像
  zxl@zxl-ubuntu:~$ sudo docker pull registry
  

  下面操作在192.168.139.52完成
  

  默认情况下会将仓库存放于容器内的/tmp/registry目录下,这样如果容器被删除,则存放于容器中的镜像也会丢失,所以我们一般情况下会指定本地一个目录挂载到容器内的/tmp/registry下,并用registry镜像创建创建并启动一个容器,如下:
  zxl@zxl-ubuntu:~$ sudo docker run -d -p 5000:5000 -v /opt/data/registry:/tmp/registry registry
  6bd275a34ad9130aeb146d8761f6002a512df48308e6836655abea0754322e0a
  

  下面操作在192.168.139.26完成
  zxl@zxl-ubuntu:~$ sudo docker ps #查看本机当前运行的容器,只有registry容器
  CONTAINER ID      IMAGE               COMMAND                  CREATED             STATUS            PORTS                  NAMES
  6bd275a34ad9      registry            "/entrypoint.sh /e..."   22 seconds ago      Up 19 seconds       0.0.0.0:5000->5000/tcp   distracted_almeida
  

  zxl@Ubuntu:~$ docker images
  REPOSITORY                              TAG               IMAGE ID            CREATED             SIZE
  my-ubuntu                                 latest            14f60031763d      11 days ago         120MB
  

  zxl@Ubuntu:~$ sudo docker tag my-ubuntu:latest 192.168.139.52:5000/u_bantu
  

  zxl@Ubuntu:~$ docker images
  REPOSITORY                              TAG               IMAGE ID            CREATED             SIZE
  192.168.139.52:5000/u_bantu               latest            14f60031763d      11 days ago         120MB
  my-ubuntu                                 latest            14f60031763d      11 days ago         120MB
  

  zxl@Ubuntu:~$ sudo dockerpush 192.168.139.52:5000/u_bantu
  The push refers to a repository
  26b126eb8632: Pushed
  220d34b5f6c9: Pushed
  8a5132998025: Pushed
  aca233ed29c3: Pushed
  e5d2f035d7a4: Pushed
  latest: digest: sha256:84c334414e2bfdcae99509a6add166bbb4fa4041dc3fa6af08046a66fed3005f size: 1357
  将两个镜像全部删除

  zxl@Ubuntu:~$ sudo docker rmi my-ubuntu
  zxl@Ubuntu:~$ sudo docker rmi14f60031763d
  从192.169.139.52服务器(本地私有仓库上重新下载)
  zxl@Ubuntu:~$ docker pull 192.168.139.52:5000/u_bantu
  Using default tag: latest
  latest: Pulling from u_bantu
  e0a742c2abfd: Pull complete
  486cb8339a27: Pull complete
  dc6f0d824617: Pull complete
  4f7a5649a30e: Pull complete
  672363445ad2: Pull complete
  Digest: sha256:84c334414e2bfdcae99509a6add166bbb4fa4041dc3fa6af08046a66fed3005f
  Status: Downloaded newer image for 192.168.139.52:5000/u_bantu:latest
  可以看到直接从192.169.139.52服务器(本地私有仓库)下载成功
  zxl@Ubuntu:~$ docker images
  REPOSITORY                  TAG               IMAGE ID            CREATED             SIZE
  192.168.139.52:5000/u_bantu   latest            14f60031763d      11 days ago         120MB
  

  下面操作在192.169.139.52完成
  在192.169.139.52上可以看到没有192.168.139.52:5000/u_bantu 镜像
  zxl@zxl-ubuntu:~$ sudo docker images
  REPOSITORY                  TAG               IMAGE ID            CREATED             SIZE
  registry                      latest            751f286bc25e      11 days ago         33.2MB
  直接从192.169.139.52服务器(本机)下载
  zxl@zxl-ubuntu:~$ sudo docker pull 192.168.139.52:5000/u_bantu
  Using default tag: latest
  latest: Pulling from u_bantu
  e0a742c2abfd: Pull complete
  486cb8339a27: Pull complete
  dc6f0d824617: Pull complete
  4f7a5649a30e: Pull complete
  672363445ad2: Pull complete
  Digest: sha256:84c334414e2bfdcae99509a6add166bbb4fa4041dc3fa6af08046a66fed3005f
  Status: Downloaded newer image for 192.168.139.52:5000/u_bantu:latest
  可以看到下载成功
  zxl@zxl-ubuntu:~$ sudo docker images
  REPOSITORY                  TAG               IMAGE ID            CREATED             SIZE
  registry                      latest            751f286bc25e      11 days ago         33.2MB
  192.168.139.52:5000/u_bantu   latest            14f60031763d      11 days ago         120MB
  

  这样在192.168.139.52服务器上创建本地私有仓库成功,只要可以访问192.168.139.52:5000端口的主机都可以直接在此仓库下载此仓库已经有的镜像
页: [1]
查看完整版本: Docker本地私有仓库的建立