常用参数
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
额外参考
分享: