如何在CentOS7中更改docker守护进程的根目录
我在CentOS7中运行docker。
我想将我的基本目录从/var/lib/docker
更改为/data/docker
。
我从官方网站上find了这个指南,但是不知道如何将这个指南应用到我的案例中。
我只是在/etc/docker/
daemon.json
/etc/docker/
创build新的daemon.json
。 之后,当我试图运行守护进程发生错误。
遵循systemctl status -l docker.service
。
● docker.service - Docker Application Container Engine Loaded: loaded (/usr/lib/systemd/system/docker.service; disabled; vendor preset: disabled) Active: failed (Result: exit-code) since Thu 2017-04-27 15:07:41 KST; 47s ago Docs: https://docs.docker.com Process: 42547 ExecStart=/usr/bin/dockerd (code=exited, status=1/FAILURE) Main PID: 42547 (code=exited, status=1/FAILURE) Apr 27 15:07:41 DCSF-DEV08 systemd[1]: Starting Docker Application Container Engine... Apr 27 15:07:41 DCSF-DEV08 dockerd[42547]: unable to configure the Docker daemon with file /etc/docker/daemon.json: the following directives don't match any configuration option: default-ulimits Apr 27 15:07:41 DCSF-DEV08 systemd[1]: docker.service: main process exited, code=exited, status=1/FAILURE Apr 27 15:07:41 DCSF-DEV08 systemd[1]: Failed to start Docker Application Container Engine. Apr 27 15:07:41 DCSF-DEV08 systemd[1]: Unit docker.service entered failed state. Apr 27 15:07:41 DCSF-DEV08 systemd[1]: docker.service failed.
那么我怎样才能解决这个问题?(我想知道什么是守护进程的默认设置,当我运行systemctl start docker
/etc/docker/daemon.json
没有/etc/docker/daemon.json
)
=========编辑===================
我目前的daemon.js
。
{ "api-cors-header": "", "authorization-plugins": [], "bip": "", "bridge": "", "cgroup-parent": "", "cluster-store": "", "cluster-store-opts": {}, "cluster-advertise": "", "debug": true, "default-gateway": "", "default-gateway-v6": "", "default-runtime": "runc", "default-ulimits": {}, "disable-legacy-registry": false, "dns": [], "dns-opts": [], "dns-search": [], "exec-opts": [], "exec-root": "", "fixed-cidr": "", "fixed-cidr-v6": "", "graph": "/data/docker", "group": "", "hosts": [], "icc": false, "insecure-registries": [], "ip": "0.0.0.0", "iptables": false, "ipv6": false, "ip-forward": false, "ip-masq": false, "labels": [], "live-restore": true, "log-driver": "", "log-level": "", "log-opts": {}, "max-concurrent-downloads": 3, "max-concurrent-uploads": 5, "mtu": 0, "oom-score-adjust": -500, "pidfile": "", "raw-logs": false, "registry-mirrors": [], "runtimes": { "runc": { "path": "runc" }, "custom": { "path": "/usr/local/bin/my-runc-replacement", "runtimeArgs": [ "--debug" ] } }, "selinux-enabled": false, "storage-driver": "", "storage-opts": [], "swarm-default-advertise-addr": "", "tls": true, "tlscacert": "", "tlscert": "", "tlskey": "", "tlsverify": true, "userland-proxy": false, "userns-remap": "" }
我改变的唯一的事情是graph
,因为我只是想改变根目录。 (我想把其他的设置为默认值, default
表示与systemctl start docker
相同的configuration)
编辑/etc/docker/daemon.json
。
只把以下内容:
{ "graph": "/data/docker" }
重新启动docker守护程序: sudo service docker restart