Linux上安装docker及nvidia-docker

简介:

  • docker可以将需要的环境及应用打包成一个文件;
  • 通过这个文件可以创建一个虚拟容器,可以实现程序在指定的环境中执行的目的.
  • 同时docker可以方便的实现容器的复制,修改,移植.有效的解决了环境配置问题.

1.docker的下载及安装:

https://download.docker.com/linux/ubuntu/dists/xenial/pool/stable/amd64/
sudo dpkg -i docker-ce_18.06.3_ce_3-0_ubuntu_amd64.deb

2.安装nvidia-docker和nvidia-docker-plugin:

wget -P /tmp https://github.com/NVIDIA/nvidia-docker/releases/download/v1.0.1/nvidia-docker_1.0.1-1_amd64.deb
sudo dpkg -i /tmp/nvidia-docker*.deb && rm /tmp/nvidia-docker*.deb

3.验证安装是否成功:

nvidia-docker run --rm nvidia/cuda:9.0-devel nvidia-smi
在这里插入图片描述

4.load镜像:

方式一. 加载本地镜像.tar文件: docker load -i path/name.tar

方式二. 查询dockerHub中的指定镜像及pull到本地:
            docker search 镜像名    //如cuda10
            docker pull NAME    //NAME为搜索列表中的NAME

5.镜像列表查看:

docker images

6.创建容器:

docker run REPOSITORY:TAG

7.查看容器列表:

docker ps -a

8.启动容器:

简易启动方式:
nvidia-docker run --rm -it IMAGE
正规启动方式:
nvidia-docker run --rm -p 8000:3000 -it --ipc=host -v path1:path2 IMAGE /bin/bash

命令解释
–rm在容器终止运行后自动删除容器文件
-p容器的3000端口映射到本机的8000端口
-it以交互模式运行容器,并为容器分配一个伪输入终端
–ipc=host允许共享内存,并允许容器使用host的网络堆栈信息
-v需要映射主机目录到容器中
path1:path2主机目录:容器目录
IMAGE容器列表中的IMAGE
/bin/bash容器的默认启动命令

Done!

docker卸载:

sudo apt-get remove docker docker-engine docker.io containerd runc
sudo rm -rf /var/lib/docker
sudo apt-get autoremove docker

常用的命令:

命令操作
镜像列表查看docker images
删除镜像docker rmi IMAGE ID
容器列表查看docker ps -a
删除容器docker rm -f CONTAINER ID
搜索镜像docker search 镜像 //也可以从官网搜索:https://hub.docker.com/
dockerHub镜像库中拉取镜像docker pull 镜像
拷贝本地文件到容器中去docker cp 本地目录 CONTAINER ID:容器目录
在基础容器中做完修改后保存镜像的命令docker commit -m “说明” -a “作者” CONTAINER ID 镜像名字:标签 //自己指定(镜像名字:标签)[[REPOSITORY]:[TAG]]只能用小写字母
查看镜像的详细信息docker inspect IMAGE ID
镜像保存docker save -o path/name.tar IMAGE //容器列表中的IMAGE
镜像加载docker load -i path/name.tar
启动已存在的容器docker attach CONTAINER ID

常见的bug

bug1😗:docker: Error response from daemon: create nvidia_driver_390.67: VolumeDriver.Create: internal error, check logs for details.See ‘docker run --help’.

解决: nvidia-docker volume create nvidia_driver_390.46

bug2😗: nvidia-docker | 2019/08/13 17:36:49 Error: Could not load UVM kernel module. Is nvidia-modprobe installed?

解决: sudo apt-get install nvidia-modprobe

bug3😗: 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.40/images/json: dial unix /var/run/docker.sock: connect: permission denied

sudo groupadd docker #添加docker用户组
sudo gpasswd -a $USER docker #将登陆用户加入到docker用户组中
newgrp docker #更新docker用户组
CentOS是一种流行的Linux操作系统,而NVIDIA Docker是一个用于在容器中运行GPU加速应用程序的工具。下面是在CentOS上安装NVIDIA Docker的步骤: 1. 首先,确保你的CentOS系统已经安装Docker。你可以通过运行以下命令来检查: ``` docker --version ``` 2. 如果你还没有安装Docker,可以按照以下步骤进行安装: - 添加Docker的官方存储库: ``` sudo yum install -y yum-utils sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo ``` - 安装Docker引擎: ``` sudo yum install -y docker-ce docker-ce-cli containerd.io ``` - 启动Docker服务并设置开机自启: ``` sudo systemctl start docker sudo systemctl enable docker ``` 3. 安装NVIDIA驱动程序。你可以通过以下命令来安装适合你的NVIDIA显卡的驱动程序: ``` sudo yum install -y nvidia-driver-latest-dkms ``` 4. 安装NVIDIA Container Toolkit。这是一个用于在Docker容器中运行GPU应用程序的工具包,其中包括nvidia-docker命令。 - 添加NVIDIA的官方存储库: ``` distribution=$(. /etc/os-release;echo $ID$VERSION_ID) curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.repo | \ sudo tee /etc/yum.repos.d/nvidia-docker.repo ``` - 安装NVIDIA Container Toolkit: ``` sudo yum install - 重新加载Docker配置并重启Docker服务: ``` sudo systemctl restart docker ``` 5. 验证安装是否成功。你可以运行以下命令来验证nvidia-docker是否正确安装: ``` sudo docker run --gpus all nvidia/cuda:11.0-base nvidia-smi ``` 如果一切正常,你应该能够看到NVIDIA显卡的信息。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值