1. docker镜像是什么
镜像是一种轻量级,可执行的独立软件包,用来打包软件运行环境和基于运行环境开发的软件。
它包含运行某个软件的所有内容,包括代码,运行时,库,环境变量和配置文件。
2. 镜像和容器之间的关系
容器在启动或者创建时,必须指定一个镜像的名称或者 id ,其实,这时镜像所扮演的角色就是容器的模版,不同的镜像可以构造出不同的容器,同一个镜像,我们也可以通过配置不同参数来构造出不通的容器。(为通俗理解,在某种程度上,类似于父类和子类,即镜像为父类,容器为子类)
3. 如何使用容器
创建容器
- 使用镜像ubuntu:16.04以交互模式启动一个容器,常用参数 -i,-t,-v,-p 详细参数
docker run -i -t ubuntu:16.04 /bin/bash
- 添加映射路径的功能(和上述语句不能同时使用,选其一):
docker run -i -t -v /home/w/nginx/:/etc/nginx/ ubuntu:16.04 /bin/bash
冒号前面代表本机路径,冒号后面代表容器内的路径
- 容器内使用GPU
docker run -i -t -v /home/w/nginx/:/etc/nginx/ --gpus all ubuntu:16.04 /bin/bash
或者
docker run --gpus '"device=1,2"' nvidia/cuda:9.0-base nvidia-smi
进入容器并输入nvidia-smi验证
- 开始容器
docker start -i name
- 退出容器
exit
- 容器重命名
docker rename CONTAINER_ID rename
- 容器导出
docker commit paddle_anaconda paddle
docker save paddle -o paddle_1.tar
- 容器导入
docker load XXX.tar
- 删除容器
docker rm -f names
删除镜像
docker rmi image_ID