Docker配置详解
Docker Engine V1.12 之后版本,用户可以自行创建 daemon.json 文件对 Docker Engine 进行配置和调整。
vim /etc/docker/daemon.json
{
“dns”: [“192.168.1.1”], ——————设定容器DNS的地址,在容器的 /etc/resolv.conf文件中可查看。
“data-root”:"/var/lib/docker", ————-Docker运行时使用的根路径,默认/var/lib/docker
“registry-mirrors”: [“https://192.498.89.232:89”], ————————设置镜像加速
“insecure-registries”: [“120.123.122.123:12312”], ———————设置私有仓库地址可以设为http
}
修改 Docker 镜像默认存储位置的方法
指定容器启动参数在配置文件中指定容器启动的参数 --graph=/var/lib/docker 来指定镜像和容器存放路径。Docker 的配置文件可以设置大部分的后台进程参数,在各个操作系统中的存放位置不一致。在 Ubuntu 中的位置是 /etc/default/docker 文件,在 CentOS 中的位置是 /etc/sysconfig/docker 文件。
# CentOS7
# 修改docker.service文件,使用-g参数指定存储位置
$ vi /usr/lib/systemd/system/docker.service
ExecStart=/usr/bin/dockerd --graph /new-path/docker
# 重新reload配置文件
$ sudo systemctl daemon-reload
# 重启docker服务
$ sudo systemctl restart docker.service
或者修改如下文件,修改后会立即生效,不需重启 Docker 服务。
# 修改配置文件
$ vim /etc/docker/daemon.json
{
"registry-mirrors":
["http://7e61f7f9.m.daocloud.io"],
"graph": "/new-path/docker"
}
[root@w-2 ~]# cp -r /var/lib/docker /home
[root@w-2 ~]# systemctl daemon-reload
[root@w-2 ~]# systemctl restart docker
修改镜像仓库 mirror 地址
- 修改 /etc/docker/daemon.json 文件(如果没有,则创建):
vim /etc/docker/daemon.jso
- 添加 registry-mirrors 字段:
{
"registry-mirrors": ["https://registry.cn-hangzhou.aliyuncs.com"]
}
- 重启 docker/kubelet
systemctl daemon-reload
systemctl restart docker
systemctl start kubelet # 假设您安装了 kubenetes
查看修改结果
- 执行命令
docker info
- 查看结果
...
Docker Root Dir: /var/lib/docker
Debug Mode (client): false
Debug Mode (server): false
Registry: https://index.docker.io/v1/
Labels:
Experimental: false
Insecure Registries:
127.0.0.0/8
Registry Mirrors:
https://registry.cn-hangzhou.aliyuncs.com
Live Restore Enabled: false
Product License: Community Engine