概念:
在介绍docker之前,首先先说说docker中最主要的两个概念:容器(container)和镜像(image)
区别:容器是由镜像实例化来的,一个镜像可以用来实例化多个容器,就像面向对象中类和对象的关系,可以把镜像比作类,把容器比作对象。
docker容器 = 镜像 + 可读层
使用containerID来表示容器ID,使用imageID来表示镜像ID,xuw来表示容器名
1、使用镜像来创建一个容器
sudo docker run -i -t -u root --name xuw -p 8000:8000 -v /home/centos210/WorkSpace:/home/aim/WorkSpace --device /dev/nvidia0:/dev/nvidia0 --device /dev/nvidia-uvm:/dev/nvidia-uvm --device /dev/nvidia-uvm-tools:/dev/nvidia-uvm-tools --device /dev/nvidiactl:/dev/nvidiactl cts_cuda9280_demo:v1.0
参数说明:
--name #容器名称
-p #端口映射(几个端口映射就写几个-p)
-v #容器和宿主机之间的目录的映射
--device #容器和宿主机之间的设备的映射
-i #以交互模式运行容器,通常与-t一起使用
-t #为容器重新分配一个伪输入终端,通常与 -i 同时使用
-h #指定容器的主机名hostname
2、重启容器
docker restart containerID
对于上述截图中的退出状态为255的容器,可以使用通过重启容器来使容器正常运行
3、进入运行中的容器
docker exec -it xuw /bin/bash
4、查看所有容器(包括已经停止的)
docker ps -a
5、删除容器
docker rm containerID
6、查看所有镜像
docker images
7、删除镜像
docker rmi imageID
8、停止正在运行的容器
docker stop imageID
9、把容器打包成镜像
docker commit -a "xw" -m "描述" -p 719504dbcdc9 test:1.0
参数说明:
-a #提交镜像的作者
-m #提交时的说明文字
-p #在commit时,将容器暂停
face:1.0 #生成的镜像名和标签
10、导出容器
docker export face > face.tar.gz
face #容器名称
face.tar.gz #要将容器保存的文件名
11、导出容器
docker import - face:1.0 < face.tar.gz
face:1.0 #指定镜像的REPOSITORY和TAG
参考文献:
[1] https://blog.csdn.net/shenmerenya/article/details/78522206