Docker技术入门与实战(第3版)
上QQ阅读APP看书,第一时间看更新

2.3 配置Docker服务

为了避免每次使用Docker命令时都需要切换到特权身份,可以将当前用户加入安装中自动创建的docker用户组,代码如下:

        $ sudo usermod -aG docker USER_NAME

用户更新组信息,退出并重新登录后即可生效。

Docker服务启动时实际上是调用了dockerd命令,支持多种启动参数。因此,用户可以直接通过执行dockerd命令来启动Docker服务,如下面的命令启动Docker服务,开启Debug模式,并监听在本地的2376端口:

        $ dockerd -D -H tcp://127.0.0.1:2376

这些选项可以写入/etc/docker/路径下的daemon.json文件中,由dockerd服务启动时读取:

        {
            "debug": true,
            "hosts": ["tcp://127.0.0.1:2376"]
        }

当然,操作系统也对Docker服务进行了封装,以使用Upstart来管理启动服务的Ubuntu系统为例,Docker服务的默认配置文件为/etc/default/docker,可以通过修改其中的DOCKER_OPTS来修改服务启动的参数,例如让Docker服务开启网络2375端口的监听:

        DOCKER_OPTS="$DOCKER_OPTS -H tcp://0.0.0.0:2375-H unix:///var/run/docker.sock"

修改之后,通过service命令来重启Docker服务:

        $ sudo service docker restart

对于CentOS、RedHat等系统,服务通过systemd来管理,配置文件路径为/etc/systemd/system/docker.service.d/docker.conf。更新配置后需要通过systemctl命令来管理Docker服务:

        $ sudo systemctl daemon-reload
        $ sudo systemctl start docker.service

此外,如果服务工作不正常,可以通过查看Docker服务的日志信息来确定问题,例如在RedHat系统上日志文件可能为/var/log/messages,在Ubuntu或CentOS系统上可以执行命令journalctl -u docker.service。

每次重启Docker服务后,可以通过查看Docker信息(docker info命令),确保服务已经正常运行。