Docker 镜像就是一个只读的模板,镜像可以用来创建 Docker 容器。
容器是从镜像创建的运行实例,它可以被启动、开始、停止、删除。每个容器都是相互隔离的、保证安全的平台。可以把容器看做是一个简易版的 Linux 环境,Docker 利用容器来运行应用。
镜像是只读的,容器在启动的时候创建一层可写层作为最上层。
docker build : 使用Dockerfile文件创建镜像
sudo docker build --no-cache -f ./Dockerfile-CUDA -t wav2letter .
-f
: 指定要使用的Dockerfile路径;
--force-rm
: 设置镜像过程中删除中间容器
--rm
: 设置镜像成功后删除中间容器
--no-cache
: 创建镜像过程中不使用缓存
-m
: 设置内存最大值
-t
: 镜像的名字及标签 name:tag
docker run [options] image [command] 使用镜像创建一个容器并运行命令
sudo docker run --runtime=nvidia -itd --name mycontainer ubuntu:16.04 /bin/bash
-d
: 后台运行容器并返回容器ID
-i
:以交互模式运行容器,通常与-t
同时使用
-t
: 为容器重新分配一个伪输入终端
--name
: 为容器指定一个名称
-p
: 端口映射,主机(宿主)端口:容器端口
基本操作:
- 基于镜像
wav2letter/wav2letter:cuda-latest
创建docker容器w2l
:
docker run --runtime=nvidia --rm -itd --ipc=host --name w2l wav2letter/wav2letter:cuda-latest
- 查看容器
docker ps
: 列出当前正在运行的容器
docker ps -a
: 列出所有容器,包括未运行的 - 进入
w2l
容器:
docker exec -it w2l /bin/bash
- 运行程序
想干啥干啥 - 退出容器,容器仍然在运行:
exit
- 停止容器:
docker stop containerID
- 又想启动容器:
docker start containerID
网友评论