Docker基础操作
docker镜像
- docker images 列出所有存在的镜像
- 下图为建立镜像的过程,文件名Dockerfile
from wz_deep_learning:v1
run pip install jieba\
&& pip install gensim
-
Dockerfile
注:无后缀名
-
docker build -t <新镜像名> .
docker build -t <新镜像名> .
//实际操作如下
docker build -t text_classification_gpu .
注:. 代表当前文件夹
-
pip install --default-timeout=100 -i https://pypi.tuna.tsinghua.edu.cn/simple --upgrade tensorflow-gpu==1.12.0
注:用清华镜像更新tensorflow的gpu版本到1.12.0
-
删除所有停止的容器:sudo docker rm $(sudo docker ps -a -q)
-
拉取镜像: docker pull [链接]
docker 操作容器
-
docker run [-itd] --name <容器名> [-p 主机端口:docker端口] <image名: 版本号>
注:d是让容器在后端运行,得加it(互动伪终端),不然容器里没有程序运行,就会停止。
-
docker container start/stop <容器ID>
-
docker exec -it <容器ID> /bin/bash
住:exec必须得先使得容器开启,才能进入
-
docker ps [-a] 列出运行容器/列出所有容器
文件/文件夹拷贝
-
docker cp <宿主机器路径> <容器长ID>:容器路径
住:容器关闭也可以复制进去
nvidia-docker
docker run -it -v <宿主机绝对目录>:<容器绝对目录> --gpus=[1,2,3,4]+ <镜像名>
docker run -it -v <宿主机数据卷目录>:<容器绝对目录> --gpus=[1,2,3,4]+ <镜像名>
//具体操作如下
docker run -it -v /home/dep_pic/AI_Algorithms/DLMC/TextClassification:/tmp/TextClassification --gpus=2 text_classification_gpu
docker提交成image
docker commit <容器ID> <image名称>
关于docker中无法显示中文的问题
docker 保存和加载
保存
docker save -o <镜像保存的名字.tar> <镜像名>
//实际操作如下
docker save -o text_classification_gpu.tar text_classification_gpu
加载
docker load --i /home/dep_pic/AI_Images/DLMC/text_classification_gpu.tar
删除镜像
docker rmi <镜像Id>