美文网首页
Note - docker 使用

Note - docker 使用

作者: 汉江岳 | 来源:发表于2019-08-09 14:32 被阅读0次



Docker (使用者角度)

docker image 是定义软件环境的说明(一连串的命令行), docker container是将image(软件环境的定义)给实际安装好(执行)。

docker image 可以从docker hub下载(尽量使用官方写好的image,然后自己创建container后,稍加定制(例如:再安装些额外的包、库))

常用命令:

docker ps -a  # 显示所有在运行的container

docker image ls # 显示所有可用的image

docker container ls # 显示所有可用的container

docker stop container_id # 停止运行不用的container

docker rm container_id # 删除不用的container 

exit # 退出

使用过程:

1. docker image ls # 显示所有可用的image

2. 根据是否使用GPU,假设用户名李明(mli)

docker run -it -v /home/mli/hello_world:/usr/mli/hello_world -w /usr/mli/hello_world --name=mli_hello image_id

或者

    nvidia-docker run -it -v /home/mli/hello_world:/usr/mli/hello_world -w /usr/mli/hello_world --name=mli_hello image_id

3. exit # 推出当前container 到此,名字为 mli_hello 的container(实验环境) 已存在,但停止了运行

4. docker start mli_hello # 启动名字为mli_hello的container, 此时,mli_hello作为进程已经运行起来

5. doker exec -it mli_hello bash  # 把在后台运行的mli_hello container 运行模式设置成交互式bash 命令行(root)

6. 至此,就可以和在打开了conda虚拟环境中敲命令行一样啦。。。 

比如:CUDA_VISIBLE_DEVICES=0 python train.py

7. docker stop container_id/container_name # 使用完container,停止container(广义进程)的运行

8. docker rm container_id/container_name # 不再用该实验环境,删除该container

### 保存修改过的docker container

docker commit 命令 #生成新的image(在服务器本地docker, 未上传到docker hub)

commit 命令应对平时的开发就够了

参考:https://www.runoob.com/docker/docker-commit-command.html

## 移交项目时打包imgae/container

两种方式:

docker save/load

docker export/import

相关文章

网友评论

      本文标题:Note - docker 使用

      本文链接:https://www.haomeiwen.com/subject/fcgndctx.html