1. View Docker version information
# docker Versionclient:version:18.03.0-ce API version:1.37 Go version:go1.9.4 Git commit:0520e24 built:wed Mar 21 23:09:1 5 2018 Os/arch:linux/amd64 Experimental:false orchestrator:swarmserver:engine:version:18.03.0-ce API version:1.37 (mi Nimum version 1.12) Go version:go1.9.4 Git commit:0520e24 built:wed Mar 23:13:03 2018 Os/arch:linux/amd64 Experime Ntal:false
2. Build a local private warehouse
# mkdir -p /opt/data/registry# sudo docker run -d -p 5000:5000 -v /opt/data/registry:/tmp/registry registryUnable to find image ' Registry : Latest ' locallylatest: pulling from library/registry81033e7c1d6a: pull complete  B235084C2315: PULL COMPLETE C692F3A6894B: PULL COMPLETE BA2177F3A70E: pull complete a8d793620947: pull complete digest: sha256 : 672d519d7fd7bbc7a448d17956ebeefe225d5eb27509d8dc5ce67ecb4a0bce54status: downloaded newer image for registry:latest3e7d9879c53bc6d0e9001c939933dc17a71a861d85f8bf5942e4873a78fd0d65# docker imagesREPOSITORY TAG IMAGE ID created sizetest/ centos v1 f6874eba64af 4 minutes ago 69.8MBubuntu latest 452a96d81c30 10 days ago 79.6MBhello-world latest e38bc07ac18e 3 weeks ago 1.85kbcentos latest e934aafc2206 4 weeks ago 199mbregistry latest d1fd7d86a825 3 months ago 33.3mbgoogle/cadvisor latest 75f88e3ec333 5 months ago 62.2mb
3, mark the container
# docker tag ubuntu:latest 10.0.0.143:5000/test# docker imagesrepository TAG IMAGE ID CREATED SIZEtest/centos v1 f6874eba64af 6 minutes ago 69.8MB10.0.0.143:5000/test latest 452a96d81c30 10 days ago 79.6mbubuntu latest 452a96d81c30 10 days ago 79.6MBhello-world latest e38bc07ac18e 3 weeks ago 1.85kBcentos latest e934aafc2206 4 Weeks ago 199mbregistry latest d1fd7d86a825 3 months ago 33.3MBgoogle/cadvisor latest 75f88e3ec333 5 months ago 62.2mb
4, upload the image to the warehouse
# docker push 10.0.0.143:5000/testthe 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
Error description: Docker from 1.3.x, with Docker registry interaction by default is HTTPS, but the private warehouse here to provide only HTTP services, so when and private warehouse interaction times the above error. Therefore, you need to increase the startup parameters to use HTTP access by default when you start the Docker server
5. Solution:
# vim /usr/lib/systemd/system/docker.service # execstart=/usr/bin/dockerdexecstart=/ usr/bin/dockerd --registry-mirror=https://ag3w25ij.mirror.aliyuncs.com --insecure-registry 10.0.0.143:5000# systemctl restart docker.servicewarning: 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/testthe 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 registry2366bf18e5e14a776a96342598091f699356a619faf3bbe8e0b7848f017290fe# docker push 10.0.0.143:5000/TESTTHE 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
Docker upload image to private library error