3.4.3、在不同系统上配置运行Docker

在不同系统上配置运行Docker

成功安装Docker之后,docker 后台将会以默认的配置运行。

在一个生产环境里,系统管理员通常会根据公司(或组织)的具体要求来配置docker 后台的启动和停止。在大多数境况下,系统管理员会安装一个进程管理器,例如,SysVinitUpstart 或 systemd 去管理 docker 后台的启动和关闭。

直接运行 Docker 后台

docker 后台可以使用 -d 参数直接运行。默认情况下,它会在 unix:///var/run/docker.sock上监听:

$ docker daemon

INFO[0000] +job init_networkdriver()
INFO[0000] +job serveapi(unix:///var/run/docker.sock)
INFO[0000] Listening for HTTP on unix (/var/run/docker.sock)
...
...

直接配置 Docker 后台

如果你通过运行docker daemon 来替代进程管理器去直接运行docker 后台,你可以在docker 后面追加配置选项直接运行命令。其他的选项会被传递到docker 后台去配置它。

一些后台的配置选项:

标志 描述
-D--debug=false 允许或禁止debug模式。默认是false。
-H,--host=[] 连接的后台 socket(s)
--tls=false 允许或禁止 TLS。默认false。

这里有一个使用配置选型运行docker 后台的例子:

$ docker daemon -D --tls=true --tlscert=/var/docker/server.pem --tlskey=/var/docker/serverkey.pem -H tcp://192.168.59.3:2376

这些选型:

  • 允许-D (debug) 模式。
  • 设置tls 的值为true,使用 --tlscert和 --tlskey 分别指定服务证书和密匙。
  • 监听连接在tcp://192.168.59.3:2376 上。

完整的命令行介绍,请参考这里

Ubuntu(乌班图)

14.04起,Ubuntu使用Upstart 作为它的进程管理器。默认情况下,Upstart 的工作路径在 /etc/init ,docker  Upstart job会在查找t/etc/init/docker.conf

Ubuntu上成功安装完 Docker 之后,你可以使用Upstart 去检查Docker的运行状态:

$ sudo status docker

docker start/running, process 989

运行 Docker

你可以使用如下命令去启动/停止/重启docker 后台:

$ sudo start docker // 启动

$ sudo stop docker // 停止

$ sudo restart docker // 重启

配置 Docker

你可以通过修改 /etc/default/docker 文件中的DOCKER_OPTS 变量来配置你的docker 后台。

去配置 Docker 选项:

  1. 使用一个拥有 sudo 或root 权限的用户登录到主机。

  2. 如果你的主机上没有/etc/default/docker 文件,先创建它。这取决于你是如何安装Docker,可能你已经拥有这个文件了。

  3. 使用你喜欢的编辑器打开这个文件。

    $ sudo vi /etc/default/docker
  4. 在文件最后面添加一个DOCKER_OPTS 变量(或者修改)。这些选项会被追加到docker  后台命令之后。

    DOCKER_OPTS="-D --tls=true --tlscert=/var/docker/server.pem --tlskey=/var/docker/serverkey.pem -H tcp://192.168.59.3:2376"

这些选项:

  • 允许-D (debug) 模式
  • 设置tls 的值为true,使用 --tlscert和 --tlskey 分别指定服务证书和密匙。
  • 监听连接在 tcp://192.168.59.3:2376 上。

完整的命令行介绍,请参考这里

  1. 保存并关闭文件。

  2. 重启 docker 后台。

    $ sudo restart docker
    
  3. 验证 docker 后台运行的详情,可以使用ps 命令。

    $ ps aux | grep docker | grep -v grep

Logs(日志)

Upstart  默认日志路径是 /var/log/upstart ,docker 后台的日志路在 /var/log/upstart/docker.log

$ tail -f /var/log/upstart/docker.log
INFO[0000] Loading containers: done.
INFO[0000] docker daemon: 1.6.0 4749651; execdriver: native-0.2; graphdriver: aufs
INFO[0000] +job acceptconnections()
INFO[0000] -job acceptconnections() = OK (0)
INFO[0000] Daemon has completed initialization

CentOS / Red Hat Enterprise Linux / Fedora

自 7.x起,CentOS 和RHEL 使用systemd 作为默认的进程管理器。而Fedora,自 21版本也使用 systemd 作为它的进程管理器。

在CentOS/Red Hat Enterprise Linux/Fedora上成功安装完 Docker 之后, 你可以使用如下方法检查Docker的运行状态:

$ sudo systemctl status docker

运行 Docker

你可以使用如下命令去启动/停止/重启 docker 后台:

$ sudo systemctl start docker

$ sudo systemctl stop docker

$ sudo systemctl restart docker

如果你需要Docker自动启动,你可以这样:

$ sudo systemctl enable docker

配置 Docker

你可以通修改 /etc/sysconfig/docker 文件中的 other_args变量来配置 docker 后台。在 CentOS 7.x 和RHEL 7.x中,变量的名字是 OPTIONS 但是,在CentOS 6.x 和RHEL 6.x,叫 other_args。在这样小节里,我们将使用CentOS 7.x 作为配置例子来演示 docker 后台的配置。

默认情况下,systemd服务会存放在/etc/systemd/service,/lib/systemd/system 或 /usr/lib/systemd/system里。根据你的系统你可以在上述的三个目录下找到 docker.service 文件。

配置Docker后台选项:

  1. 使用一个拥有 sudo 或root 权限的用户登录到主机。

  2. 如果你的主机上没有/etc/default/docker 文件,先创建它。这取决于你是如何安装Docker,可能你已经拥有这个文件了。

  3. 使用你喜欢的编辑器打开这个文件。

    $ sudo vi /etc/sysconfig/docker
    
  4. 在文件最后面添加一个DOCKER_OPTS 变量(或者修改)。这些选项会被追加到docker  后台命令之后。

    OPTIONS="-D --tls=true --tlscert=/var/docker/server.pem --tlskey=/var/docker/serverkey.pem -H tcp://192.168.59.3:2376"

这些选项:

  • 允许-D (debug) 模式
  • 设置tls 的值为true,使用 --tlscert和 --tlskey 分别指定服务证书和密匙。
  • 监听连接在 tcp://192.168.59.3:2376 上。

完整的命令行介绍,请参考这里

  1. 保存并关闭文件。

  2. 重启 docker 后台。

    $ sudo service docker restart 
  3. 验证 docker 后台运行的详情,可以使用ps 命令。

    $ ps aux | grep docker | grep -v grep

Logs(日志)

systemd拥有属于自己日志系统,被称为“ journal”。docker 后台的日志可以使用journalctl -u docker 指令去查看。

$ sudo journalctl -u docker
May 06 00:22:05 localhost.localdomain systemd[1]: Starting Docker Application Container Engine...
May 06 00:22:05 localhost.localdomain docker[2495]: time="2015-05-06T00:22:05Z" level="info" msg="+job serveapi(unix:///var/run/docker.sock)"
May 06 00:22:05 localhost.localdomain docker[2495]: time="2015-05-06T00:22:05Z" level="info" msg="Listening for HTTP on unix (/var/run/docker.sock)"
May 06 00:22:06 localhost.localdomain docker[2495]: time="2015-05-06T00:22:06Z" level="info" msg="+job init_networkdriver()"
May 06 00:22:06 localhost.localdomain docker[2495]: time="2015-05-06T00:22:06Z" level="info" msg="-job init_networkdriver() = OK (0)"
May 06 00:22:06 localhost.localdomain docker[2495]: time="2015-05-06T00:22:06Z" level="info" msg="Loading containers: start."
May 06 00:22:06 localhost.localdomain docker[2495]: time="2015-05-06T00:22:06Z" level="info" msg="Loading containers: done."
May 06 00:22:06 localhost.localdomain docker[2495]: time="2015-05-06T00:22:06Z" level="info" msg="docker daemon: 1.5.0-dev fc0329b/1.5.0; execdriver: native-0.2; graphdriver: devicemapper"
May 06 00:22:06 localhost.localdomain docker[2495]: time="2015-05-06T00:22:06Z" level="info" msg="+job acceptconnections()"
May 06 00:22:06 localhost.localdomain docker[2495]: time="2015-05-06T00:22:06Z" level="info" msg="-job acceptconnections() = OK (0)"

注意:使用和配置journal是一个高级话题,已经超出本章节覆盖的范围。

 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值