广州网站优化效果,短网址统计,深圳建网站兴田德润专业,怎么样创建微信公众号一些安装后的配置令Linux主机可以更好地与Docker配合使用。
0x01 以非root用户身份管理Docker
Docker守护进程绑定到Unix套接字#xff0c;而不是TCP端口。默认情况下,root用户拥有Unix套接字#xff0c;而其他用户只能使用 sudo. Docker守护进程始终以root用户身份运行。 …一些安装后的配置令Linux主机可以更好地与Docker配合使用。
0x01 以非root用户身份管理Docker
Docker守护进程绑定到Unix套接字而不是TCP端口。默认情况下,root用户拥有Unix套接字而其他用户只能使用 sudo. Docker守护进程始终以root用户身份运行。
如果不想在docker命令前加上sudo那么创建一个名为docker的Unix组并在其中添加用户。当Docker守护进程启动时 创建一个可由docker组的成员访问的Unix套接字。在某些Linux上 发行版上系统会在使用包管理器安装 Docker Engine时自动创建此组如果是那样的话就没有必要手动创建组了。 警告 docker组向用户赋予root级别权限。有关这些如何影响系统安全性的详细信息请参考 Docker守护进程安全资料。 注意 要在没有root权限的情况下运行Docker请参考以非root用户身份运行Docker守护进程Rootless模式。
要创建docker组并添加你的用户请执行以下操作
创建docker组。
$ sudo groupadd docker将您的用户添加到docker组。
$ sudo usermod -aG docker $USER注销并重新登录以便重赋予你的组成员身份。 如果在虚拟机中运行Linux则可能需要重新启动虚拟机以使更改生效。 也可以运行以下命令来激活对组的更改
$ newgrp docker验证您是否可以在没有sudo的情况下运行docker命令。
$ docker run hello-world这个命令下载一个测试映像并在容器中运行它。当容器运行时它会打印一条消息并退出。 如果在添加用户到docker组之前此用户使用sudo运行过Docker CLI命令可能会看到以下错误
WARNING: Error loading config file: /home/user/.docker/config.json -
stat /home/user/.docker/config.json: permission denied此错误表示~/.docker/的权限设置目录不正确因为之前使用了sudo命令。 要解决此问题请删除~/.docker/目录它会自动重新创建但任何自定义设置都将丢失或更改其所有权限 使用以下命令设置权限 $ sudo chown $USER:$USER /home/$USER/.docker -R$ sudo chmod grwx $HOME/.docker -R0x02 使用systemd将Docker配置为开机自启动
许多现代Linux发行版都使用 systemd来管理系统引导时启动哪些服务。在Debian和Ubuntu上Docker服务默认在系统引导时启动。对于使用systemd的其他Linux发行版要开机自动启动Docker和containerd 运行以下命令
$ sudo systemctl enable docker.service
$ sudo systemctl enable containerd.service要停止此操作请改用disable。
$ sudo systemctl disable docker.service
$ sudo systemctl disable containerd.service如果需要添加HTTP代理为 Docker运行时文件进行其他自定义目录或分区请参考自定义systemd Docker守护程序选项。
0x03 配置默认日志记录驱动程序
Docker提供日志记录驱动程序来收集和查看来自主机上运行的所有容器的日志数据。默认日志记录驱动程序json-file将日志以JSON格式数据写入主机文件系统。随着时间的推移这些日志文件的大小会扩大 磁盘资源可能耗尽。
若要避免日志数据过度使用磁盘的问题考虑以下方法之一 将json-file日志记录驱动程序配置为打开日志轮换 使用替代日志记录驱动器例如 “本地”日志驱动程序并在默认情况下执行日志循环。 使用日志记录驱动程序将日志发送到远程日志记录服务器。