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用户组
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值