Docker配置整理

目录:

以非root用户身份管理Docker

默认情况下,Docker运行权限由用户root所有,而其他用户只能通过sudo使用它。Docker守护程序始终以root用户身份运行。

如果不想在docker命令前加上sudo,需要创建一个名为docker的Unix组并向其添加用户。

要创建docker组并添加您的用户

1.创建docker组。

$ sudo groupadd docker

2.将您的用户添加到该docker组。

$ sudo usermod -aG docker $USER

3.注销并重新登录,以便重新评估用户组的成员身份。

如果在虚拟机上进行测试,则可能需要重新启动虚拟机才能使更改生效。

在桌面Linux环境(如X Windows)上,完全注销会话,然后重新登录。

4.验证您是否可以运行docker命令sudo

$ docker run hello-world

配置Docker以在启动时启动

大多数当前的Linux发行版(RHEL,CentOS,Fedora,Ubuntu 16.04及更高版本)使用systemd管理系统自动启动的服务。Ubuntu 14.10及以下使用upstart

systemd

$ sudo systemctl enable docker

要禁用此行为,只需将enable改为disable

$ sudo systemctl disable docker 

如果需要添加HTTP代理,为Docker运行时文件设置不同的目录或分区,或进行其他自定义,请参阅 自定义systemd Docker守护程序选项

upstart

Docker自动配置为在启动时启动 upstart。要禁用此行为,请使用以下命令:

$ echo manual | sudo tee /etc/init/docker.override

chkconfig

$ sudo chkconfig docker on

配置Docker守护程序监听连接的位置

默认情况下,Docker守护程序监听UNIX套接字上的连接以接受来自本地客户端的请求。通过将Docker配置为监听IP地址和端口以及UNIX套接字,可以允许Docker接受来自远程主机的请求。有关此配置选项的更多详细信息,请参阅Docker CLI参考文章中的“将Docker绑定到另一个主机/端口或unix套接字”部分。

配置Docker以接受远程连接(docker.service)可以使用systemd的Linux发行版的systemd单元文件来完成,例如RedHat,CentOS,Ubuntu和SLES的最新版本,或者daemon.json推荐用于不使用systemd的Linux发行版的文件。

配置Docker同时使用systemd单元文件和daemon.json 文件来侦听连接会导致冲突,从而阻止Docker启动。

使用systemd单元文件配置远程访问

1.使用以下命令编辑文件docker.service

sudo systemctl edit docker.service

2.添加或修改以下行,替换您自己的值

[Service]
ExecStart=
ExecStart=/usr/bin/dockerd -H fd:// -H tcp://127.0.0.1:2375

3.保存文件。

4.重新加载systemctl配置。

$ sudo systemctl daemon-reload 

5.重启Docker。

$ sudo systemctl restart docker.service

6.通过查看netstat的输出确认dockerd是否正在侦听已配置的端口。

$ sudo netstat -lntp | grep dockerd
tcp        0      0 127.0.0.1:2375          0.0.0.0:*               LISTEN      3758/dockerd

使用配置远程访问 daemon.json

1.将hosts数组设置/etc/docker/daemon.json为连接到UNIX套接字和IP地址,如下所示:

{
"hosts": ["unix:///var/run/docker.sock", "tcp://127.0.0.1:2375"]
}

2.重启Docker。

3.通过查看netstat确认的输出是否dockerd正在侦听已配置的端口来检查更改是否得到遵守。

$ sudo netstat -lntp | grep dockerd
tcp        0      0 127.0.0.1:2375          0.0.0.0:*               LISTEN      3758/dockerd

 

posted @ 2018-08-30 11:37  MingleX  阅读(848)  评论(0编辑  收藏  举报