创建私有docker-image服务器


本文介绍怎样搭建和使用私有化的docker image服务器。

docker hub image server

pull官方registry镜像

首先需要获取官方的registry镜像包。

$ docker pull registry:2.6.2
Trying to pull repository docker.io/library/registry ... 
2.6.2: Pulling from docker.io/library/registry
4064ffdc82fe: Pull complete 
c12c92d1c5a2: Pull complete 
4fbc9b6835cc: Pull complete 
765973b0f65f: Pull complete 
3968771a7c3a: Pull complete 
Digest: sha256:51bb55f23ef7e25ac9b8313b139a8dd45baa832943c8ad8f7da2ddad6355b3c8

insecure registry

docker默认image server使用https协议传输,但是内网传输可以简单的使用http,所以我们可以在/etc/docker/daemon.json添加"insecure-registries": ["image_server_ip:port"],这样我们的image server就支持http传输了。

数据持久化

为了让docker image server的数据持久化,我们需要将本地磁盘映射到容器内部的/var/lib/registry,这样方便我们的image server迁移。

运行registry镜像

$ docker run -d -p 5000:5000 -v `pwd`/data:/var/lib/registry --restart=always --name registry docker.io/registry:2.6.2
dccda7ae748e2b0a485ea9e501e09567c012acb392412727b7ee0e73ffff5961

这样我们就可以启动我们的镜像服务器了,映射端口5000,映射本地磁盘。

docker client

image 命名

镜像命名格式image-hub-ip:port/image_name,例如:172.16.220.41:5000/myhub/nginx。这样我们就可以往我们自己的image server推送我们私有的image了。

$ docker push 172.16.220.41:5000/myhub/nginx:v0.1
The push refers to a repository [172.16.220.41:5000/myhub/nginx]
08d25fa0442e: Pushed 
a8c4aeeaa045: Pushed 
cdb3f9544e4c: Pushed 
v0.1: digest: sha256:4ffd9758ea9ea360fd87d0cee7a2d1cf9dba630bb57ca36b3108dcd3708dc189 size: 948

测试

删除本地镜像

$ docker rmi 172.16.220.41:5000/myhub/nginx:v0.1
Untagged: 172.16.220.41:5000/myhub/nginx:v0.1
Untagged: 172.16.220.41:5000/myhub/nginx@sha256:4ffd9758ea9ea360fd87d0cee7a2d1cf9dba630bb57ca36b3108dcd3708dc189

拉取image

$ docker pull 172.16.220.41:5000/myhub/nginx:v0.1
Trying to pull repository 172.16.220.41:5000/myhub/nginx ... 
v0.1: Pulling from 172.16.220.41:5000/myhub/nginx
Digest: sha256:4ffd9758ea9ea360fd87d0cee7a2d1cf9dba630bb57ca36b3108dcd3708dc189
Status: Downloaded newer image for 172.16.220.41:5000/myhub/nginx:v0.1

可以看到我们又重新获取到了镜像,这样我们的image server就搭建完成了。


文章作者: djaigo
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 djaigo !
评论
  目录