常用参数
docker build
-f:指定要使用的dockerfile的文件路径
-t/--tag:镜像的名字及标签,比如 x_webapp:v1
docker run
-d:让容器在后台运行,并返回容器ID;没这个run的时候会进入容器内
-i:以交互模式运行容器,通常与 -t 同时使用
-t:为容器重新分配一个伪输入终端,通常与 -i 同时使用
--name:为容器命名,比如 --name python_flask表示将该容器命名为python_flask
-p:端口映射(宿主机端口:容器端口),-p 8080:22 表示把容器内的22端口映射到宿主机上的8080端口
--gpus:将宿主机上的GPU资源加载到容器中,--gpus all 表示加载所有可用GPU。
--privileged:给容器权限去连接主机上的其他设备,就像使用这些设备或资源的主机一样,比如连接到nvidia的GPU资源。
-m:设置容器能用的内存最大值
-v:挂载一个路径地址,比如 -v /root/xxx/docker_tuto : /workspace 表示将宿主机上/root/xxx/docker_tuto/文件夹地址挂载(视为镜像)到容器内的/workspace上
常用场景案例
- 手动建立镜像
docker build -f Dockerfile -t python_flask:v1 .
- 容器化并运行
docker run -d -p 8090:8090 --name flask_app python_flask:v1
- 容器化并运行(同步容器内时间与宿主机系统时间一致)
docker run -d -p 8090:8090 -v /etc/localtime:/etc/localtime --name flask_app python_flask:v1
- 容器化并运行(使用gpu资源,挂载文件路径,使用远程hub的pytorch/pytorch镜像)
docker run -p 10001:22 --gpus all -itd --name pytorch_gpu --privileged=true -v /root/xxx/docker_tuto:/workspace pytorch/pytorch /bin/bash
- 查看正在使用的容器
docker ps
- 查看所有容器
docker ps -a
- 查看所有镜像
docker images
- 查看容器logs(下述xxx用containerID前三位替代)
docker logs xxx
- 交互模式去容器中操作命令行(下述xxx用containerID前三位替代)
docker exec -it xxx bash
- 停止容器(下述xxx用containerID前三位替代)
docker stop xxx
- 删除容器(下述xxx用containerID前三位替代)
docker rm xxx
- 删除镜像(下述xxx用imageID前三位替代)
docker rmi xxx
额外参考
分享: