3.4.3、在不同系统上配置运行Docker
2015-10-10 21:41
686 查看
在不同系统上配置运行Docker
成功安装Docker之后,docker后台将会以默认的配置运行。
在一个生产环境里,系统管理员通常会根据公司(或组织)的具体要求来配置
docker后台的启动和停止。在大多数境况下,系统管理员会安装一个进程管理器,例如,
SysVinit,
Upstart或
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,
dockerUpstart
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 选项:
使用一个拥有
sudo或
root权限的用户登录到主机。
如果你的主机上没有
/etc/default/docker文件,先创建它。这取决于你是如何安装Docker,可能你已经拥有这个文件了。
使用你喜欢的编辑器打开这个文件。
$ sudo vi /etc/default/docker
在文件最后面添加一个
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上。
完整的命令行介绍,请参考这里。
保存并关闭文件。
重启
docker后台。
$ sudo restart docker
验证
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后台选项:
使用一个拥有
sudo或
root权限的用户登录到主机。
如果你的主机上没有
/etc/default/docker文件,先创建它。这取决于你是如何安装Docker,可能你已经拥有这个文件了。
使用你喜欢的编辑器打开这个文件。
$ sudo vi /etc/sysconfig/docker
在文件最后面添加一个
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上。
完整的命令行介绍,请参考这里。
保存并关闭文件。
重启
docker后台。
$ sudo service docker restart
验证
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是一个高级话题,已经超出本章节覆盖的范围。
来源: <https://docs.docker.com/articles/configuring/>
相关文章推荐
- docker 端口映射错误解决方法
- Unikernel无核化五年后能否取代Docker
- SkyDNS试用
- 3.4.7、使用 systemd 管理配置 Docker
- docker1.8.2创建并运行karaf镜像
- docker搭建简单web服务
- 下一代云计算模式:Docker正掀起个性化商业革命
- Docker学习之简单介绍
- 关于docker包存储结构说明
- 重启docker服务器后 遇到 'device or resource busy'错误
- Murano之:集成docker
- Docker命令
- docker 安装及简单配置
- [Linux] - 阿里云CentOS 6.5 安装Docker
- docker
- Running ASP.NET 5 applications in Linux Containers with Docker
- docker学习
- docker与openstack的关系
- 【Howie玩docker】-使用mono编译c#程序
- docker