1. docker 拉取pytorch环境, 去pytorch官网[pytorch](https://hub.docker.com/r/pytorch/pytorch/tags?page=1&ordering=last_updated)看看,我需要 pytorch 1.0.1
参考:
pytorch: 使用docker
docker入门—容器的增删改查及保存
wenjie@lthpc:~$ docker pull pytorch/pytorch:1.0.1-cuda10.0-cudnn7-devel
可通过 sudo docker images
命令查看镜像
2. 运行一个容器,进入镜像环境:
sudo docker run -t -i pytorch/pytorch:1.0.1-cuda10.0-cudnn7-devel /bin/bash
参数说明:
-i: 交互式操作。
-t: 终端。
pytorch/pytorch:1.0.1-cuda10.0-cudnn7-devel: 这是指用 pytorch/pytorch:1.0.1-cuda10.0-cudnn7-devel 版本镜像为基础来启动容器。
/bin/bash:放在镜像名后的是命令,这里我们希望有个交互式 Shell,因此用的是 /bin/bash。
3. 进入镜像之后 pip install xxx 各种环境
4. 最后提交修改, 保存修改后的镜像
docker commit -a "author" -m "message" container_name/container_id new_image_name:tag_name
参数说明:
-a : 参数可选,用于指定作者,可以写自己的名字或自己编一个名字
-m : 参数可选,用于填写备注,说明修改的内容
container_id : 被修改的容器id
container_name : 被修改的容器名字
new_image_name : 新镜像的名字,自己定义(保存的该新镜像文件,可以在下次创建容器时,创建出上次修改后的容器)
tag_name : 可以不写,为新镜像的标签,不写时默认标签为latest(最新的)
该命令提交完之后,返回值是 镜像的id
5. 打包新镜像 (在容器内做修改后打包镜像并压缩)
sudo docker save -o tiny_for_tanker.tar 1844afb7f155
6. 加载新镜像
sudo docker load -i tiny_for_tanker.tar
常用其它命令:
Ctrl + P + Q:退出容器保持后台运行
docker exit:退出容器(即使run的时候规定了-d后台运行,一样会结束)
docker ps:查看已有容器 (docker ps -n 1:可以看到刚刚操作的容器,做一个筛选)
docker rename old_name new_name :重命名容器
docker start:启动已被停止的容器
docker stop:停止运行中的容器
docker restart:重启容器
docker exec -it ContainerName /bin/bash:再次进入一个正在运行的容器,使用docker exit也不会真的结束。
docker attach 容器名或id:从后台进入正在运行的容器
docker cp 本地路径 容器ID:容器路径:拷贝本地文件到容器