使用docker配置深度学习环境
docker使用基础
参考教程:
https://www.runoob.com/docker/docker-container-usage.html
https://blog.csdn.net/dreamhome_s/article/details/106049253
这里默认docker已安装好
1. dockers运行命令
1 | docker run --gpus all -itd --name torchtest -v $PWD -w /tmp/workplace -p 10035:22 -p 8889:8888 pytorch/pytorch:latest bash |
notes:
10035映射到容器的22号端口:用于SSH远程连接服务器
8889映射到8888端口:用于远程访问服务器的jupyter notebook
若端口号被占用,换一个未被占用的即可
-v -w:将当前目录挂载到容器的workplace目录下
-i: 交互式操作。
-t: 终端。
-d: 在后台执行
可以将该命令写入脚本里方便持续执行,如图:
2. docker进入命令
- docker exec:推荐大家使用 docker exec 命令,因为此命令会退出容器终端,但不会导致容器的停止。
1 | docker exec -it torchtest /bin/bash |
使用该命令可以进入终端,退出root也不会导致容器停止。
3. 开启SSH服务
- 安装SSH服务:
1 | apt update |
- 设置容器密码:
1 | 输入passwd设置密码 |
- 修改容器配置:
1 | apt install vim |
- 重新激活SSH服务:
1 | service ssh restart |
- 在本机测试是否可以连接成功:
4. docker 保存镜像
当对环境做出了修改时,安装新的包等,我们需要对当前比较稳定的环境做一个备份。方便错误恢复或是迁移到其他机器。
有这个需求的原因是需要在宿主机和docker容器加一个端口映射,但是我不想丢失之前对容器所做的任何变动,才有了这一步骤
基础版-基于备份
导出容器
1 | sudo docker export 1e560fca3906 > ubuntu.tar |
导入容器
1 | cat docker/ubuntu.tar | sudo docker import - test/ubuntu:v1 |
进阶版-基于版本控制
更新镜像
1 | docker commit -m="has update" -a="runoob" e218edb10161 runoob/ubuntu:v2 |
各个参数说明:
- -m: 提交的描述信息
- -a: 指定镜像作者
- e218edb10161:容器 ID
- runoob/ubuntu:v2: 指定要创建的目标镜像名
可以使用 docker images 命令来查看我们的新镜像 runoob/ubuntu:v2:
- Post title:使用docker配置深度学习环境
- Post author:sixwalter
- Create time:2023-08-05 11:14:26
- Post link:https://coelien.github.io/2023/08/05/projects/kinetics project/docker for pytrorch/
- Copyright Notice:All articles in this blog are licensed under BY-NC-SA unless stating additionally.
Comments