一、概述
二、应用场景
三、环境安装
四、应用
4.1 自动获取docker交叉编译的内容
自动获取docker交叉编译内容。包括:
- 自动启动docker
- 自动在docker进行交叉编译
- 自动Copy成果物到电脑
- 关闭docker
4.2 允许普通用户组运行docker命令
在 Linux 中,Docker 默认情况下要求用户具有 root 权限(管理员权限)才能运行 Docker 命令。这是因为 Docker 命令会直接与系统的底层资源进行交互,例如创建和管理容器、网络和存储等。因此,为了确保安全性和系统稳定性,Docker 要求用户具有足够的权限来执行这些操作。
然而,你可以通过将用户添加到 docker 用户组来允许普通用户运行 Docker 命令,而无需 root 权限。这样做的好处是普通用户可以更方便地管理 Docker 容器,而不必依赖于管理员账号。
要将用户添加到 docker 用户组,可以按照以下步骤操作:
<font color=red>注:</font>2、3条即可生效。
1.首先,确保已经安装了 Docker,并且你具有 root 权限或者可以使用 sudo。
2.执行以下命令将当前用户添加到 docker 用户组:
sudo usermod -aG docker $USER
sudo gpasswd -d username docker
3.然后,注销并重新登录以应用组成员身份的更改。或者,你也可以执行以下命令使更改生效:
newgrp docker
4.最后,验证用户是否成功添加到了 docker 用户组。你可以执行以下命令:
docker run hello-world
5.查看用户组所有成员
cat /etc/group | grep docker
如果你能够成功运行这个命令,说明你已经成功地将用户添加到了 docker 用户组,并且可以以普通用户身份运行 Docker 命令了。
请注意,添加用户到 docker 用户组可能会带来安全风险,因为拥有 Docker 权限的用户可以对系统进行一些敏感操作。因此,请仔细考虑是否将用户添加到 docker 用户组,并仔细管理这些用户的权限。
五、参考文献
六、附录
6.1 常用指令
- 创建特定docker
// 拉取Ubuntu 18.04镜像
docker pull ubuntu:18.04
// 创建容器(--name my-ubuntu-container用于指定容器的名称为my-ubuntu-container,你可以根据自己的需求修改名称。可选)
docker run -it --name my-ubuntu-container ubuntu:18.04 /bin/bash
docker run -it ubuntu:18.04 /bin/bash
- 运行与退出docker
// 启动已创建的容器(my-ubuntu-contrainer为容器name)
docker start -i my-ubuntu-container
// 启动已创建的容器(container-id为容器id)
docker start -i container-id
// 停止容器
docker stop container-id
// 退出容器
exit
- 查看docker
// 查看运行中的docker
docker ps
// 查看所有docker
docker ps -a
- 进入运行中的docker容器
docker exec -it contain_id /bin/bash
七、FAQ
1.docker start -i 8437ff389714 /bin/bash
you cannot start and attach multiple containers at once
docker start -i 8437ff389714
- docker start -i 8437ff389714 /bin/bash:这个命令启动容器 8437ff389714 并将其附加到 /bin/bash 这个进程上,使你可以在容器内执行交互式命令。这种方式适用于希望进入容器执行命令或调试的情况。
- docker start -I 8437ff389714:这个命令启动容器 8437ff389714,但不会将其附加到任何进程上。这意味着你不能立即与容器进行交互,但可以稍后使用 docker attach 命令附加到容器上。这种方式适用于后台启动容器,并在以后需要时再进行交互的情况。