TA的每日心情 | 怒 昨天 13:01 |
---|
签到天数: 1643 天 [LV.Master]伴坛终老
|
在 docker 配置文件中设置
docker 1.12 版本之后, 建议在 docker 的 js 配置文件中配置, 路径为 /etc/docker/daemon.json 默认没有这个文件, 可以手动创建此文件, docker 启动时默认会读取此配置文件> vim /etc/docker/daemon.json
{
"hosts": [
"tcp://0.0.0.0:2375",
"unix:///var/run/docker.sock"
]
} unix:///var/run/docker.sock注意上面?一定要写上本地的 socket 位置, 不然无法使用本地的 CLI 控制 docker
修改完js配置文件后, 重启 docker 服务, 出现了如下报错> systemctl restart docker.service
Job for docker.service failed because the control process exited with error code. See "systemctl status docker.service" and "journalctl -xe" for details. 查看日志发现关键信息如下> systemctl status docker.service
● docker.service - Docker Application Container Engine
Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
Active: failed (Result: exit-code) since Mon 2017-02-06 12:16:57 CST; 13s ago
Docs: https://docs.docker.com
Process: 21952 ExecStart=/usr/bin/dockerd -H fd:// (code=exited, status=1/FAILURE)
Main PID: 21952 (code=exited, status=1/FAILURE)
Feb 06 12:16:57 xsl systemd[1]: Starting Docker Application Container Engine...
Feb 06 12:16:57 xsl dockerd[21952]: unable to configure the Docker daemon with file /etc/docker/daemon.json: the following directives are specified both as a flag and in the configuration file: hosts: (from flag: [fd://], from file: [tcp://0.0.0.0:2375, unix:///var/run/docker.socket])
Feb 06 12:16:57 xsl systemd[1]: docker.service: Main process exited, code=exited, status=1/FAILURE
Feb 06 12:16:57 xsl systemd[1]: Failed to start Docker Application Container Engine.
Feb 06 12:16:57 xsl systemd[1]: docker.service: Unit entered failed state.
Feb 06 12:16:57 xsl systemd[1]: docker.service: Failed with result 'exit-code'. 从上面?的报错信息中可以判断出, 是因为 docker 的 socket 配置出现了冲突, 接下来查看 docker 的启动入口文件> vim /lib/systemd/system/docker.service # Ubuntu的路径; CentOS 的路径为: /usr/lib/systemd/system/docker.service
# ...省略
# 关键行
ExecStart=/usr/bin/dockerd -H fd://
# ...省略 从上面可以看出, 在 docker 的启动入口文件中配置了 host 相关的信息, 而在 docker 的配置文件中也配置了 host 的信息, 所以发生了冲突. 解决办法, 建议将 docker 启动入口文件中的 -H fd:// 删除, 再重启 docker 服务即可
|
|