Docker上传镜像到私有库的报错
1、查看docker的版本信息# docker version
Client:
Version:18.03.0-ce
API version:1.37
Go version:go1.9.4
Git commit:0520e24
Built:Wed Mar 21 23:09:15 2018
OS/Arch:linux/amd64
Experimental:false
Orchestrator:swarm
Server:
Engine:
Version:18.03.0-ce
API version:1.37 (minimum version 1.12)
Go version:go1.9.4
Git commit:0520e24
Built:Wed Mar 21 23:13:03 2018
OS/Arch:linux/amd64
Experimental:false 2、搭建本地私有仓库
# mkdir -p /opt/data/registry
# sudo docker run -d -p 5000:5000 -v /opt/data/registry:/tmp/registry registry
Unable to find image 'registry:latest' locally
latest: Pulling from library/registry
81033e7c1d6a: Pull complete
b235084c2315: Pull complete
c692f3a6894b: Pull complete
ba2177f3a70e: Pull complete
a8d793620947: Pull complete
Digest: sha256:672d519d7fd7bbc7a448d17956ebeefe225d5eb27509d8dc5ce67ecb4a0bce54
Status: Downloaded newer image for registry:latest
3e7d9879c53bc6d0e9001c939933dc17a71a861d85f8bf5942e4873a78fd0d65
# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
test/centos v1 f6874eba64af 4 minutes ago 69.8MB
ubuntu latest 452a96d81c30 10 days ago 79.6MB
hello-world latest e38bc07ac18e 3 weeks ago 1.85kB
centos latest e934aafc2206 4 weeks ago 199MB
registry latest d1fd7d86a825 3 months ago 33.3MB
google/cadvisor latest 75f88e3ec333 5 months ago 62.2MB 3、为容器做标记
# docker tag ubuntu:latest 10.0.0.143:5000/test
# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
test/centos v1 f6874eba64af 6 minutes ago 69.8MB
10.0.0.143:5000/test latest 452a96d81c30 10 days ago 79.6MB
ubuntu latest 452a96d81c30 10 days ago 79.6MB
hello-world latest e38bc07ac18e 3 weeks ago 1.85kB
centos latest e934aafc2206 4 weeks ago 199MB
registry latest d1fd7d86a825 3 months ago 33.3MB
google/cadvisor latest 75f88e3ec333 5 months ago 62.2MB 4、上传镜像到仓库
# docker push 10.0.0.143:5000/test
The push refers to repository
Get https://10.0.0.143:5000/v2/: http: server gave HTTP response to HTTPS client 报错说明:Docker从1.3.x之后,与docker registry交互默认使用的是https,但是此处搭建私有仓库却只提供http服务,所以当和私有仓库交互时报上述错误。因此需要在启动docker server时增加启动参数为默认使用http访问
5、解决方法:
# vim /usr/lib/systemd/system/docker.service
# ExecStart=/usr/bin/dockerd
ExecStart=/usr/bin/dockerd --registry-mirror=https://ag3w25ij.mirror.aliyuncs.com --insecure-registry 10.0.0.143:5000
# systemctl restart docker.service
Warning: docker.service changed on disk. Run 'systemctl daemon-reload' to reload units.
# systemctl daemon-reload
# systemctl restart docker.service
# docker push 10.0.0.143:5000/test
The push refers to repository
Get http://10.0.0.143:5000/v2/: dial tcp 10.0.0.143:5000: getsockopt: connection refused
# lsof -i :5000
# sudo docker run -d -p 5000:5000 -v /opt/data/registry:/tmp/registry registry
2366bf18e5e14a776a96342598091f699356a619faf3bbe8e0b7848f017290fe
# docker push 10.0.0.143:5000/test
The push refers to repository
059ad60bcacf: Pushed
8db5f072feec: Pushed
67885e448177: Pushed
ec75999a0cb1: Pushed
65bdd50ee76a: Pushed
latest: digest: sha256:90f24abe180424046a5d53f6fc6f9fdb8f79b835cb2fd7d1a782e4c30dfb5dcc size: 1357
页:
[1]