执子之手

与子偕老


  • 首页

  • 分类

  • 归档

  • 标签

  • 关于

  • 搜索
close

在Ubuntu 16.04 LTS上设置DOCKER_OPTS

时间: 2017-06-22   |   分类: 运维     |   阅读: 654 字 ~2分钟   |   访问: 0

之前一直使用Ubuntu 14.04来跑Docker。今天在16.04 LTS上跑Docker的时候发现设置DOCKER_OPTS的时候有些区别,特此记录一下。

1. 症状

之前在Ubuntu 14.04 LTS上都是通过修改/etc/default/docker文件来设置DOCKER_OPTS参数的,譬如像下面这个配置:

1# Docker Upstart and SysVinit configuration file
2DOCKER_OPTS="-H unix:///var/run/docker.sock -H tcp://0.0.0.0:2345"

是通过使用-H tcp://0.0.0.0:2345参数,开启Docker的Remote API端口。这样就可以通过远程访问Docker服务。

今天在16.04 LTS版本上发现这样修改不起作用。具体表现是始终没有绑定到端口2345上,这个参数根本就没有起作用。

2. 原因

这个问题出现的原因是/etc/default/docker这个文件是用于SysVinit启动机制的一个配置文件。而Ubuntu 16.04 LTS使用systemd替代了init作为服务启动进程。新的启动机制不使用这个配置文件。

3. 解决办法

解决办法就是修改systemd的启动脚本,引入这个配置文件。打开/lib/systemd/system/docker.service这个文件,修改如下:

1EnvironmentFile=-/etc/default/docker
2ExecStart=/usr/bin/dockerd $DOCKER_OPTS -H fd://

上述修改通过EnvironmentFile指定了环境变量文件(内容参考上面)。然后在ExecStart中使用了在环境变量文件中定义的DOCKER_OPTS环境变量。这样修改以后,就可以通过修改/etc/default/docker文件来修改DOCKER_OPTS变量了。

修改上述文件之后,使用下面的命令使配置生效:

1sudo systemctl daemon-reload
2sudo service docker restart

附录

  • Ubuntu 16.04 DOCKER_OPTS
#Docker# #Ubuntu#
Kafka介绍与使用
在Mac上运行SOAPUI 5.3.0
  • 文章目录
  • 站点概览
Orchidflower

Orchidflower

Do one thing at a time, and do well.

77 日志
6 分类
84 标签
GitHub 知乎 OSC 豆瓣
  • 1. 症状
  • 2. 原因
  • 3. 解决办法
  • 附录
© 2009 - 2024 执子之手
Powered by - Hugo v0.113.0
Theme by - NexT
ICP - 鲁ICP备17006463号-1
0%