admin管理员组文章数量:1122850
1. 使用Dockerfile
1. 下载docker desktop
下载docker for windows,这里有个小坑,需要确定是否打开了虚拟化。如果没有,必须重启在BIOS界面打开虚拟化,重启之后就可以启动docker for windows了。
2. 更改工作目录
一定要注意:先改下docker desktop的setting。不然生成镜像直接爆炸,全都放到C盘。
3. 使用Dockerfile 构建镜像
打开cmd,到Dockerfile的路径(请把dockerfile单独放到一个目录
)。
使用
docker build -t image_name .
这个 “.” 就是当前目录,然后就是漫长的等待。
2. 如何写dockerfile?
创建一个基于某镜像的容器:
docker run -it nvidia/cuda:9.2-cudnn7-devel-ubuntu16.04 /bin/bash
然后调试,调试,调试好了commit,注意user/xxx与你的dockerhub新建的仓库名一致。
docker commit a404c6c174a2 user/xxx:v1
然后登陆docker
docker login
push 到自己仓库
docker push user/xxx:v1
之后dockerfile就可以简单的写上一句,就把整个调试好的环境下载下来了。
FROM user/xxx:v1
4.上传到阿里云
https://cr.console.aliyun/cn-hangzhou/instance/repositories
5. 附录、docker常用命令
创建一个基于某镜像的容器:
docker run -it nvidia/cuda:9.2-cudnn7-devel-ubuntu16.04 /bin/bash
如果要挂载目录的话:(通过-v参数,冒号前为宿主机目录,必须为绝对路径,冒号后为镜像内挂载的路径。)
docker run -it -v path1:path2 nvidia/cuda:9.2-cudnn7-devel-ubuntu16.04 /bin/bash
查看正在运行的容器:
docker container ls
查看所有的的容器(不管有没有运行):
docker ps -a
进入容器(容器不停止)
docker exec -it [containerID] /bin/bash
删除容器:(先终止,才能删除)
docker container rm [containerID]
终止 容器:
docker stop [containerID]
查看容器大小
docker system df
查看每个容器大小
docker system df -v
6. 使用调用nVidia gpu的docker
nvidia-docker 代替 docker 命令
基于某个image 开一个容器
(通过-v参数,冒号前为宿主机目录,必须为绝对路径,冒号后为镜像内挂载的路径。)
nvidia-docker run -it --shm-size="16g" -v /home/limx/Workspace:/home/limx/Workspace limx/torch1.5_cuda10.1_uss /bin/bash
进入容器(容器不停止)
nvidia-docker exec -it [containerID] /bin/bash
7. 使用pycharm对容器进行debug
加入-p参数
nvidia-docker run -it --shm-size="16g" -v /disk4/limx:/disk4/limx -p 22:8080 limx/torch1.5_cuda10.1_uss /bin/bash
docker 调试时候加环境变量
vim ~/.bashrc
source ~/.bashrc
常见错误
Failed to initialize NVML: Unknown Error
突然发现nvcc和nvidia-smi显示的版本不一致,看到了下面的博文,实际上我们参考的cuda版本还是根据runtime。
参考https://www.jianshu/p/eb5335708f2a
实际上最后加了一个--privileged
就好了。
sudo docker run -it --shm-size="16g" -v /data/limingxing.lmx/:/home/limx --privileged reg.docker.xxx /bin/bash
dockerfile 书写错误
错误
/bin/sh: 1: RUN: not found
原因
RUN 语句之间不是 &&\ 连接。
所以可以只写一个RUN,
参考网址
https://www.ruanyifeng/blog/2018/02/docker-tutorial.html
https://www.runoob/docker/docker-tutorial.html
版权声明:本文标题:windows 使用docker构建镜像 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.betaflare.com/biancheng/1726304302a1069837.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论