因为项目原因开始接触到机器学习和深度学习,然后自己也去跑模型和修改模型,有时候需要在家里弄,然后发现模型需要的环境依赖很多包,但是因为公司的电脑是Windows系统,家里的是mac os , anaconda 没有办法直接import ,因为有些包的版本并不通用,无意间发现了docker这这东西,发现是轻便灵活。
docker 的image, 一开始想着去pull 一些现成keras的image来用,但是发现很难知道这个image装了什么包,反正用的过程中各种不顺手, 还是决定自己弄一个image。
如果可以用,可以把更新后的contain commit成一个new的image : docker commit containId imageName
如果要通过dockerfile 来new 一个image :
1. 这个dockerfile 文件需要是没有后缀的,而且名字是Dockerfile,我一开始是新建了一个 Dockerfile.txt , 不行,要保存为没有.txt 的文件。
2. 文件内容:
FROM tensorflow/tensorflow
RUN apt-get update -y
RUN pip --no-cache-dir install keras
RUN pip --no-cache-dir install spacy
选了星星最多的一个TensorFlow的image
3. 定位到放置dockerfile 的文件夹里 运行 >docker build -t imageName . : 结尾的 . 号不能省
docker 的常用 命令行:
把本地目录挂载到docker 容器 :
docker run -it -p 1888:1888 -v /d/test:/containpath --name containName imageId
把本地目录copy 到 容器内: test/ 代表整个folder的内容。 /test 是容器的folder
docker cp test/ containName:/test
也可以从容器 copy 到本地:
docker cp containName:/test/ test
删除所有停止的容器:
docker container prune -f
删除所有不使用的镜像:
docker image prune --force --all