📜  更改用户运行 docker - Shell-Bash (1)

📅  最后修改于: 2023-12-03 15:26:22.378000             🧑  作者: Mango

更改用户运行 docker - Shell/Bash

在使用 Docker 进行开发、测试和部署的过程中,通常需要以非 root 用户身份运行 Docker 容器,以保障安全性。

本文将介绍如何在 Shell/Bash 环境下更改用户运行 Docker,以 Ubuntu 操作系统为例。

步骤
  1. 创建一个新用户,并将其添加到 docker 用户组中:

    sudo useradd -s /bin/bash -m <username>
    sudo usermod -aG docker <username>
    

    注:-s 指定用户 Shell,默认为 /bin/sh

  2. 用新用户登录,并测试是否可以运行 Docker:

    su - <username>
    docker run hello-world
    
  3. 如果运行 Docker 时出现以下错误:

    docker: Got permission denied while trying to connect to the Docker daemon socket ...
    

    则需要将用户添加到 Docker Daemon 套接字组中:

    sudo usermod -aG docker <username>
    newgrp docker
    
  4. 如果运行 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,以加强安全性和可维护性。