您的位置:首页 > 运维架构 > Docker

Docker本地私有仓库的建立

2017-08-01 22:22 579 查看
环境:
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 docker push 192.168.139.52:5000/u_bantu
The push refers to a repository [192.168.139.52:5000/u_bantu]
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 rmi 14f60031763d
从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端口的主机都可以直接在此仓库下载此仓库已经有的镜像
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Docker 本地仓库