嫌麻烦,搭建和后期维护不易的话,可以使用一些三方的私有仓库,比如google与平台、阿里云的免费私有仓库 cr.console.aliyun.com/cn-hongkong… 一. 私有docker仓库搭建
-
下载registry镜像
docker pull registry
-
启动镜像
docker run -d -p 5000:5000 --restart=always --privileged --name registry-container -v /root/container/docker_registry:/var/lib/registry registry
挂载本地路径/root/container/docker_registry 作为docker仓库存放镜像的目录
- 查看
查看私有仓库
curl -XGET http://127.0.0.1:5000/v2/_catalog
结果:
{"repositories":[]}
, 仓库好了,但是还是空的
二. 私有仓库操作
- 查看本地镜像
docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
newspage_type_identify_serving latest 65f484d95936 35 minutes ago 407MB
tensorflow/serving latest e874bf5e4700 12 months ago 406MB
- docker tag
这个本地镜像在另一台机器上
docker tag newspage_type_identify_serving:latest 10.0.0.12:5000/newspage_type_identify_serving:v1
再查看一下
docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
newspage_type_identify_serving latest 65f484d95936 39 minutes ago 407MB
10.0.0.12:5000/newspage_type_identify_serving v1 65f484d95936 39 minutes ago 407MB
tensorflow/serving latest e874bf5e4700 12 months ago 406MB
- 推送到私有仓库
docker push 10.0.0.12:5000/newspage_type_identify_serving:v1
推送中
The push refers to repository [10.0.0.12:5000/newspage_type_identify_serving]
b6143d4cf84a: Pushed
bb4423850a27: Pushed
b60ba33781cd: Pushed
547f89523b17: Pushed
bd91f28d5f3c: Pushed
8cafc6d2db45: Pushed
a5d4bacb0351: Pushed
5153e1acaabc: Pushed
v1: digest: sha256:cf91b82ac65667b204cb5fd88361467354260e5aee90508b05bea50189eac5da size: 1990
完成后,去仓库的部署机器上查看下
curl -XGET http://127.0.0.1:5000/v2/_catalog
结果:
{"repositories":["newspage_type_identify_serving"]}
查看镜像tag
curl -XGET http://127.0.0.1:5000/v2/tags/list
- 从私有仓库拉取镜像
docker pull 10.0.0.12:5000/newspage_type_identify_serving:v1
v1: Pulling from newspage_type_identify_serving
01bf7da0a88c: Pull complete
f3b4a5f15c7a: Pull complete
57ffbe87baa1: Pull complete
e72e6208e893: Pull complete
6ea3f464ef73: Pull complete
01e9bf86544b: Pull complete
68f6bba3dc50: Pull complete
f9dfc1dfc1e2: Pull complete
Digest: sha256:cf91b82ac65667b204cb5fd88361467354260e5aee90508b05bea50189eac5da
Status: Downloaded newer image for 10.0.0.12:5000/newspage_type_identify_serving:v1
10.0.0.12:5000/newspage_type_identify_serving:v1
拉取成功
REPOSITORY TAG IMAGE ID CREATED SIZE
10.0.0.12:5000/newspage_type_identify_serving v1 65f484d95936 57 minutes ago 407MB
【报错】
http: server gave HTTP response to HTTPS client
docker自从1.3.X之后docker registry交互默认使用的是HTTPS,但是搭建私有镜像默认使用的是HTTP服务,所以与私有镜像交时出现以上错误
编辑
vim /usr/lib/systemd/system/docker.service
ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock --insecure-registry 10.0.0.12:5000
然后重启
systemctl daemon-reload
systemctl restart docker