2017-04-27 948 views
1

我在CentOS7中运行docker。如何在CentOS7中更改docker守护进程根目录

我想将我的基本目录从/var/lib/docker更改为/data/docker

我发现this从官方网站指南,但不知道如何将这个应用到我的情况。

我只是在/etc/docker/中新建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

========= EDIT = ==================

我目前的码头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": "" 
} 

我改变的唯一的事情是,因为我只是想改变根目录。 (我想将其他人设为默认值default表示与systemctl start docker相同的配置)

+0

你放什么在你的'的/ etc /泊坞窗/ daemon.json'? – kstromeiraos

+0

@JoséAntonioLópez谢谢。我把我的守护进程文件内容。感觉像填补了空白的领域,但我不知道该填什么。我想使用默认值 –

+0

该文件会覆盖默认的泊坞窗配置。您不需要放置所有字段,因为这会导致您的情况出现错误配置。检查我的答案。 – kstromeiraos

回答

1

编辑/etc/docker/daemon.json

,我们只为以下内容:

{ 
    "graph": "/data/docker" 
} 

重启码头工人守护进程:sudo service docker restart

+0

哇。你拯救我的一天!非常感谢! BBBBB –