欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

docker不用sudo(docker不用wsl)

錢良釵1年前7瀏覽0評論

在使用 Docker 時,我們可能多次遇到需要輸入“sudo”才能執行 Docker 相關命令的情況。這是因為 Docker 的操作需要使用“root”權限。然而,頻繁地使用“sudo”會增加一些麻煩,比如輸入密碼等等。那么,有沒有辦法可以讓我們在使用 Docker 時不需要輸入“sudo”呢?答案是肯定的。

下面介紹兩種方法:

方法一:將用戶添加到 docker 組

# 首先查看當前用戶所屬的組,找到“sudo”組(namei后) 
$ id 
uid=1000(username) gid=1000(username) groups=1000(username),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),116(lpadmin),126(sambashare)
# 創建“docker”組 
$ sudo groupadd docker
# 將當前用戶添加進“docker”組 
$ sudo usermod -aG docker $USER
# 然后重啟 docker 服務 
$ sudo service docker restart

以上就是添加用戶到“docker”組的方法。此時,可以重新打開終端,再次運行 Docker 命令,就不需要加“sudo”了。

方法二:修改 Docker 的配置文件

首先打開 Docker 的配置文件:

$ sudo vim /lib/systemd/system/docker.service

找到下面這一行:

ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock

在這行的前面添加下面的內容:

ExecStartPost=/sbin/iptables -P FORWARD ACCEPT

修改后,內容如下:

[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network-online.target docker.socket firewalld.service
Wants=network-online.target
Requires=docker.socket
[Service]
Type=notify
NotifyAccess=main
# 添加的這一行
ExecStartPost=/sbin/iptables -P FORWARD ACCEPT
# 修改的這一行
ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
ExecReload=/bin/kill -s HUP $MAINPID
TimeoutSec=0
RestartSec=2
Restart=always
[Install]
WantedBy=multi-user.target

然后退出配置文件,重新加載配置文件并重啟 Docker 服務:

$ sudo systemctl daemon-reload
$ sudo service docker restart

修改配置文件的方法,可以讓我們在使用 Docker 時不需要關注用戶所屬的組。但是,修改配置文件需要謹慎,不當的修改可能會導致 Docker 服務出現問題。