1. 程式人生 > >國內Docker映象下載慢

國內Docker映象下載慢

怎樣解決 docker 映象下載龜速的問題?

國內獲取Docker映象時,訪問 https://hub.docker.com/ 速度緩慢,只有幾十K左右,這種情況可以使用國內的一些docker映象,例如:網易蜂巢、阿里巴巴、[email protected]等。

此處介紹使用中國科學技術大學([email protected])的開源映象。

新版的 Docker 使用 /etc/docker/daemon.json(Linux) 或者 %programdata%\docker\config\daemon.json(Windows) 來配置 Daemon,檔案格式為 json 格式。

請在 /etc/docker/daemon.json 檔案中加入(沒有該檔案的話,請先建一個):

{
  "registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"]
}

在使用時,Docker 中國官方映象加速可通過 registry.docker-cn.com 訪問。該映象庫只包含流行的公有映象。私有映象仍需要從美國映象庫中拉取。

{
  "registry-mirrors": ["https://registry.docker-cn.com"]
}
以下是一些過時的配置方法

在 Docker 的啟動引數中加入:

$ docker --registry-mirror=https://docker.mirrors.ustc
.edu.cn daemon $ docker --registry-mirror=https://registry.docker-cn.com daemon

Ubuntu 使用者(包括使用 systemd 的 Ubuntu 15.04)可以修改 /etc/default/docker 檔案,加入如下引數:

DOCKER_OPTS="--registry-mirror=https://docker.mirrors.ustc.edu.cn"

其他 systemd 使用者可以通過執行 sudo systemctl edit docker.service 來修改設定, 覆蓋預設的啟動引數:

[Service]
ExecStart=
ExecStart=/usr/bin/docker -d -H fd:// --registry-mirror=https://docker.mirrors
.ustc.edu.cn

怎麼設定修改docker配置後重啟docker服務部不影響已啟動的容器?

在實際開發過程中,修改了docker的某個配置後需要重啟 docker 服務才能生效,但是當前執行的容器有其他運用程式或服務仍然需要呼叫該容器。

修改 /etc/docker/daemon.json 這個json檔案,檔案內容為 json 格式

$ sudo vim /etc/docker/daemon.json
# 新增"live-restore": true選項,比如:
{
    "live-restore": true,
}

這個配置與 –restart=always 不同,docker run –restart=always 是重啟服務後重啟容器,如果 docker 服務沒有啟動,則容器也不會啟動, 而 /etc/docker/daemon.json 的 “live-restore”: true 這個配置生效後重啟docker服務時容器則不受影響。