1. 程式人生 > >docker映象加速之CentOS7

docker映象加速之CentOS7

前言

在Docker Hub官網上註冊帳號,即可下載使用倉庫裡的全部的docker映象。而因為網路原因,國內的開發者沒辦法流暢的下載映象,經常會出現下載中斷的錯誤。解決方法就是使用國內的容器Hub加速服務,本質就是更改pull優先順序較高的伺服器為國內的站點。

國內docker映象加速站

系統環境

作業系統: CentOS 7
docker版本: 1.9.1

DaoCloud加速

DaoCloud現在是提供一個一鍵指令碼配置registry-mirror,然而對於上述環境是不起作用的。

執行docker守護服務的help命令,發現沒有–registry-mirror

這個選項,而是使用–add-registry選項。

具體命令如下:

$ sudo docker daemon -h

Usage:  docker daemon [OPTIONS]

Enable daemon mode

  --add-registry=[]                    Registry to query before a public one
  --api-cors-header=                   Set CORS headers in the remote API
  -b, --bridge=                        Attach
containers to a network bridge
--bip= Specify network bridge IP --block-registry=[] Don't contact given registry --cluster-advertise= Address or interface name to advertise --cluster-store= Set the cluster store
--cluster-store-opt=map[] Set cluster store options --confirm-def-push=true Confirm a push to default registry -D, --debug=false Enable debug mode --default-gateway= Container default gateway IPv4 address --default-gateway-v6= Container default gateway IPv6 address --default-ulimit=[] Set default ulimits for containers --disable-legacy-registry=false Do not contact legacy registries --dns=[] DNS server to use --dns-opt=[] DNS options to use --dns-search=[] DNS search domains to use -e, --exec-driver=native Exec driver to use --exec-opt=[] Set exec driver options --exec-root=/var/run/docker Root of the Docker execdriver --fixed-cidr= IPv4 subnet for fixed IPs --fixed-cidr-v6= IPv6 subnet for fixed IPs -G, --group=docker Group for the unix socket -g, --graph=/var/lib/docker Root of the Docker runtime -H, --host=[] Daemon socket(s) to connect to --help=false Print usage --icc=true Enable inter-container communication --insecure-registry=[] Enable insecure registry communication --ip=0.0.0.0 Default IP when binding container ports --ip-forward=true Enable net.ipv4.ip_forward --ip-masq=true Enable IP masquerading --iptables=true Enable addition of iptables rules --ipv6=false Enable IPv6 networking -l, --log-level=info Set the logging level --label=[] Set key=value labels to the daemon --log-driver=json-file Default driver for container logs --log-opt=map[] Set log driver options --mtu=0 Set the containers network MTU -p, --pidfile=/var/run/docker.pid Path to use for daemon PID file --registry-mirror=[] Preferred Docker registry mirror -s, --storage-driver= Storage driver to use --selinux-enabled=false Enable selinux support --storage-opt=[] Set storage driver options --tls=false Use TLS; implied by --tlsverify --tlscacert=~/.docker/ca.pem Trust certs signed only by this CA --tlscert=~/.docker/cert.pem Path to TLS certificate file --tlskey=~/.docker/key.pem Path to TLS key file --tlsverify=false Use TLS and verify the remote --userland-proxy=true Use userland proxy for loopback traffic

在檔案/etc/sysconfig/docker中增加以下程式碼:

ADD_REGISTRY='--add-registry [你的加速站網址]'

然後,重啟Docker就可以了。

sudo systemctl daemon-reload
sudo service docker restart

使用映象加速

  1. 拉取映象前請先登入: docker login daocloud.io(請使用使用者名稱進行 login)

  2. docker pull [你需要的映象]

後續

經過使用測試:下載docker映象時不再出現下載失敗提示,粗略估計下載速度在200k/s左右,基本滿足使用需求。