一、查看docker的版本信息
linux
# 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
二、搭建本地私有倉庫docker
# 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
三、爲容器作標記
ubuntu
# 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
四、上傳鏡像到倉庫vim
# 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訪問centos
五、解決方法:bash
# 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