Dockerがプライベートライブラリにミラーをアップロードしたエラー
3956 ワード
1、dockerのバージョン情報を表示する
2、現地の私有倉庫の建設
3、容器に印をつける
4、ミラーを倉庫にアップロードする
エラーメッセージ:Dockerは1.3から.x以降、docker registryとのインタラクションはデフォルトでhttpsを使用しますが、ここでプライベートウェアハウスを構築するとhttpサービスのみが提供されるため、プライベートウェアハウスとのインタラクションタイムズで上記のエラーが発生します.したがってdocker serverの起動時に起動パラメータを追加してhttpアクセスをデフォルトで使用する必要があります
5、解決方法:
# 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 [10.0.0.143:5000/test]
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 [10.0.0.143:5000/test]
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 [10.0.0.143:5000/test]
059ad60bcacf: Pushed
8db5f072feec: Pushed
67885e448177: Pushed
ec75999a0cb1: Pushed
65bdd50ee76a: Pushed
latest: digest: sha256:90f24abe180424046a5d53f6fc6f9fdb8f79b835cb2fd7d1a782e4c30dfb5dcc size: 1357