Docker操作速查表
Docker CheatSheet
1. 在已经有Dockerfile的文件夹下构建镜像
docker built -t <容器名>:<版本> . # .代表从当前目录找dockerfile
2. 构建好镜像之后,根据它启动一个新容器
2.1 场景1:在后台启动容器,然后进入bash交互界面
如果你希望容器在后台持续运行,并且随时可以进入它,这是更常用的方法。
首先我们启动容器:
docker run -d <镜像名称> --name <自己起一个容器的名字>
- -d (detach):让容器在后台运行,不占用你的命令行窗口。
然后你还能在run之后加以下参数实现一些别的效果:
- –shm-size 指定你要给容器共享多少内存,在深度学习任务时会用到
- –gpus all 给容器开放主机所有gpu的权限,也是深度学习的时候会用到
以下是一个深度学习的例子
docker run --gpus all --shm-size=8g -d -v C:\Users\lance\Desktop\WASB-SBDT\src:/root/src --name wasb-container wasb:1.0 tail -f /dev/null
接着使用docker exec
进入容器
docker exec -it <你刚才起的容器名字> bash
优点:容器在后台持续运行,即使你退出shell也不会停止。
2.2 场景二:把电脑上的文件夹映射到容器中
如果你想让容器能够访问你电脑上的文件,需要在启动容器时使用 -v 参数。
命令语法:
docker run -v <宿主机路径>:<容器内部路径> <镜像名称>
结合场景1的例子就是这么搞:
# 第1步:启动容器,并进行目录映射
docker run --gpus all --shm-size=8g -d -v C:\Users\lance\Desktop\WASB-SBDT\src:/root/src --name wasb-container wasb:1.0 tail -f /dev/null# 第2步:进入容器内部的bash
docker exec -it wasb-container bash
3. 想重新构建一次容器
有可能你把dockerfile改了,然后你想重新构建一次iamge来更新更改,你就得这么做:
- 停止当前container
docker stop <你的容器名字>
- 删除当前container
docker rm <你的容器名字>
- 重新build镜像
docker built -t <容器名>:<版本> .