Docker常用操作-取消sudo限制

本文介绍了如何在Docker中进行基本操作,特别是如何取消sudo限制,以便更方便地使用Docker容器。通过目录映射,可以将主机目录挂载到Docker容器中,确保数据和代码的持久保存。在遇到深度学习环境配置困难时,利用预配置的Docker镜像能有效节省时间。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Docker常用操作

有些深度学习环境依赖非常棘手,编译总是不通过,即使编译通过运行又会出现库链接问题,非常烦人。掌握Docker的基本操作,直接把别人配置好的docker镜像pull下来,能省很多麻烦。这里主要记录自己常用的docker命令。

#查看docker 容器
docker ps

#查看docker 镜像
docker images

#和宿主之间复制文件
docker cp [OPTIONS] CONTAINER:SRC_PATH DEST_PATH|-
docker cp [OPTIONS] SRC_PATH|- CONTAINER:DEST_PATH
#e.g.
docker cp /home/han fce289e99eb9:/tmp/ #/tmp/表示拷贝到该目录下
docker cp /home/han fce289e99eb9:/tmp  #/tmp表示重命名为tmp
docker cp  fce289e99eb9:/tmp /tmp/

#删除镜像或者容器(删除镜像之前必须退出包含该镜像的所有容器)
rm Remove one or more containers
rmi Remove one or more images

#查看所有退出的容器()
docker ps -a

Docker运行

han@MS:~$ sudo docker images
REPOSITORY              TAG                 IMAGE ID            CREATED             SIZE
hello-world             latest              fce289e99eb9        11 days ago         1.84kB
zzhikun/non_local_net   v1.0                9a5153e5ece1        4 months ago        3.94GB

# run docker
sudo docker run -i -t 9a5153e5ece1 /bin/bash
# 其中,-t 选项让Docker分配一个伪终端(pseudo-tty)并绑定到容器的标准输入上,-i 则让容器的标准输入保持打开。

Docker目录映射

载入home路径到docker的container
需要注意的是一旦你退出某个container,所有你做的东西都不会保存,所以为了保存数据和代码,我们可以把某个目录载入到container中,这样我们在docker中对该目录所做的修改都会保存到本机了。

nvidia-docker run -v /home/han/:$(pwd) -it zzhikun/non_local_net:latest

Docker 取消sudo限制

han@MS:~$ cat /etc/group | grep docker
docker:x:999:
han@MS:~$ groups
han adm cdrom sudo dip plugdev lpadmin sambashare
han@MS:~$ sudo gpasswd -a ${USER} docker
[sudo] han 的密码: 
正在将用户“han”加入到“docker”组中
han@MS:~$ cat /etc/group | grep docker
docker:x:999:han
han@MS:~$ sudo service docker restart
han@MS:~$ docker images
Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get http://%2Fvar%2Frun%2Fdocker.sock/v1.39/images/json: dial unix /var/run/docker.sock: connect: permission denied
han@MS:~$ newgrp - `groups ${USER} | cut -d' ' -f1`;
han@MS:~$ sudo service docker restart
han@MS:~$ docker images
REPOSITORY              TAG                 IMAGE ID            CREATED             SIZE
hello-world             latest              fce289e99eb9        11 days ago         1.84kB
zzhikun/non_local_net   v1.0                9a5153e5ece1        4 months ago        3.94GB
### 安装 Docker 社区版及其相关组件 为了通过 `yum` 正确安装 Docker 社区版 (`docker-ce`) 及其相关组件,可以遵循以下方法: #### 配置 YUM 源 在 CentOS 上安装 Docker CE 前,需确保已配置好官方的 Docker 软件源。可以通过运行以下命令来设置 Docker 的存储库: ```bash sudo yum install -y yum-utils sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo ``` 此操作会添加 Docker 的官方仓库到系统的 YUM 源列表中[^1]。 #### 执行安装命令 完成上述步骤后,执行以下命令即可安装所需的 Docker 组件: ```bash sudo yum install -y docker-ce docker-ce-cli containerd.io ``` 这条命令将同时安装 Docker 社区版、CLI 工具以及 Containerd IO 支持[^2]。 如果遇到依赖关系错误或者某些包不可用的情况,则可以在原命令基础上追加参数 `--skip-broken` 或者 `--nobest` 来解决冲突问题: ```bash sudo yum install -y docker-ce docker-ce-cli containerd.io --skip-broken ``` 或是: ```bash sudo yum install -y docker-ce docker-ce-cli containerd.io --nobest ``` 这些选项可以帮助绕过部分不兼容项并继续完成主要软件包的部署过程[^3]。 #### 启动服务 成功安装之后,还需启用并启动 Docker 服务才能正常使用它: ```bash sudo systemctl start docker sudo systemctl enable docker ``` 至此,整个基于 YUM 的 Docker CE 和关联工具链的安装流程结束。 ```python print("Docker has been successfully installed.") ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值