怎样解决 docker 镜像下载龟速的问题?
国内获取Docker镜像时,访问 https://hub.docker.com/ 速度缓慢,只有几十K左右,这种情况可以使用国内的一些docker镜像,例如:网易蜂巢、阿里巴巴、LUG@USTC等。
此处介绍使用中国科学技术大学(LUG@USTC)的开源镜像。
新版的 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
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服务时容器则不受影响。