📅  最后修改于: 2023-12-03 15:26:22.378000             🧑  作者: Mango
在使用 Docker 进行开发、测试和部署的过程中,通常需要以非 root 用户身份运行 Docker 容器,以保障安全性。
本文将介绍如何在 Shell/Bash 环境下更改用户运行 Docker,以 Ubuntu 操作系统为例。
创建一个新用户,并将其添加到 docker 用户组中:
sudo useradd -s /bin/bash -m <username>
sudo usermod -aG docker <username>
注:-s
指定用户 Shell,默认为 /bin/sh
。
用新用户登录,并测试是否可以运行 Docker:
su - <username>
docker run hello-world
如果运行 Docker 时出现以下错误:
docker: Got permission denied while trying to connect to the Docker daemon socket ...
则需要将用户添加到 Docker Daemon 套接字组中:
sudo usermod -aG docker <username>
newgrp docker
如果运行 Docker 时出现以下错误:
docker: Cannot connect to the Docker daemon. Is the docker daemon running on this host? ...
则需要确保 Docker 服务已启动并正在运行:
sudo service docker start
sudo systemctl daemon-reload
通过以上步骤,我们可以在 Shell/Bash 环境下更改用户运行 Docker,以加强安全性和可维护性。