Docker

docker安装

  • 安装主机的操作系统为ubuntu22.04
  • 参考官方教程,非常完善(可能需要vpn)

docker常用命令

  • 搜索镜像

    docker search ***
    
  • 拉取镜像

    docker pull ***
    
  • 查看所有镜像

    docker images
    
  • 根据镜像创建容器

    doker run -it --name aaa -v $PWD/data_common:/data_common --net=host bbb /bin/bash 
    
    # aaa 为容器的名称
    # -v 后面是把当前目录下的data_common文件夹映射到容器的data_common文件夹。可以使主机和容器共享文件
    # --net=host 是使用当前主机网络
    # bbb为镜像的名称或者是镜像的ID
    # /bin/bash 是为其创建命令行
    
    # 需要gpu的,需要安装nvidia-docker
    docker run -it --runtime=nvidia --name=*** --gpus all bbb
    
    #runtime,指定nvidia运行
    #--gpu all 指定容器可以使用所有的gpu
    #bbb为镜像的名称或者id
    #其余的共享文件夹和网络等和上面不使用gpu的相同
    
  • 退出当前的容器,但不停止它

    键盘同时按住 ctrl+q+p
    
  • 查看正在运行的容器

    docker ps
    
  • 查看当前主机下的所有容器

    docker ps -a
    
  • 进入正在运行的容器

    docker attach 容器名称或容器ID
    
    
  • 停止正在运行的容器

    docker stop 容器名称或容器ID
    
  • 启动已经创建好的容器

    docker start 容器名称或容器ID
    
  • 重启正在运行的容器

    docker restart 容器名称或容器ID
    
  • 删除容器

    docker rm 容器名称或容器ID
    
  • 删除镜像

    docker rmi 镜像名称或镜像ID  		#需要没有容器引用该镜像
    docker rmi -f 镜像名称或镜像ID 	#强制删除,无论是否有容器引用
    docker rmi 镜像名称:TAG   #删除TAG版本的镜像 
    
  • 打包镜像为tar文件

    docker save 镜像名称:版本号或者镜像ID > /home/打包名字.tar
    
  • 将打包的镜像加载出来

    docker load < /home/打包名字.tar
    
  • 修改镜像的名字和版本号

    docker tag 镜像ID 镜像名字:版本号
    
  • 将容器打包为镜像

    docker commit -m="提交的描述信息" -a="创建者" 容器名称或容器ID 生成的镜像名:标签名
    
    #-m= : 为镜像添加描述信息
    #-a= : 为镜像添加创建者信息
    

    Subsequent____________________________________________

重装nvidia-docker2

  • 前段时间,重装了nvidia的驱动,把nvidia-docker2给卸载了,需要重新安装

  • 重装之前需要确定nvidia的驱动和docker安装完成

  • 之后执行如下命令

    sudo apt-get install nvidia-docker2
    sudo pkill -SIGHUP dockerd
    
  • 进行测试

    sudo docker run --rm --gpus all nvidia/cuda:11.0.3-base nvidia-smi
    
  • 出现报错

    Error could not select device driver ““ with capabilities: [[gpu]]
    
  • 查阅相关的资料,只需要重新安装一下nvidia-container-toolkit

    sudo apt autoremove nvidia-container-toolkit
    sudo apt install -y nvidia-container-toolkit
    
  • 再次进行测试,完美运行

    jing@jing:~$ sudo docker run --rm --gpus all nvidia/cuda:11.0.3-base nvidia-smi
    [sudo] jing 的密码: 
    Tue Aug  8 03:07:48 2023       
    +-----------------------------------------------------------------------------+
    | NVIDIA-SMI 525.105.17   Driver Version: 525.105.17   CUDA Version: 12.0     |
    |-------------------------------+----------------------+----------------------+
    | GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
    | Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
    |                               |                      |               MIG M. |
    |===============================+======================+======================|
    |   0  NVIDIA GeForce ...  Off  | 00000000:10:00.0 Off |                  N/A |
    |  0%   30C    P8     8W / 170W |      6MiB / 12288MiB |      0%      Default |
    |                               |                      |                  N/A |
    +-------------------------------+----------------------+----------------------+
                                                                                   
    +-----------------------------------------------------------------------------+
    | Processes:                                                                  |
    |  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
    |        ID   ID                                                   Usage      |
    |=============================================================================|
    +-----------------------------------------------------------------------------+
    
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值