Docker容器并非虚拟机,docker:和操作系统无关的一个沙箱容器,宿主机安装的什么操作系统和其本身无关
docker的下载和安装
https://blog.csdn.net/weixin_42064949/article/details/108218437(直接使用这个安装是没有问题的)
注意,当初用了下述安装命令
sudo apt-get install docker-ce=5:19.03.6~3-0~ubuntu-bionic
docker中常用的命令
https://www.runoob.com/docker/docker-container-usage.html(docker容器的使用教程)
https://blog.csdn.net/qq_37242520/article/details/107041331
https://www.runoob.com/docker/docker-container-usage.html(终端的进入与退出)
pull一个镜像,直接使用带有GPU版本的镜像
sudo docker pull pytorch/pytorch:1.0.1-cuda10.0-cudnn7-devel
运行docker
docker run -tid --name transdocker ubuntu /bin/bash
name是容器的名字,这个容器来自于ubuntu这个镜像,加rm命令后,退出后不保存容器
docker run -e PYTHONIOENCODING=utf-8 m_container:latest my-python3
重启docker
sudo systemctl restart docker
文件传输:将主机文件传给docker
sudo docker cp Anaconda3-5.2.0-Linux-x86_64.sh 8db6956f9de8:/home
显示所有容器
docker ps -a
查看docker中有哪些镜像
docker images
删除镜像
docker rmi bd9410be89b6
开启容器
docker start transdocker
进入容器
docker attach transdocker
删除容器
docker rm -f 1e560fca3906
在docker中安装anaconda3
https://blog.csdn.net/nothing_upc/article/details/102897875
在docker中安装显卡驱动
docker内的显卡驱动要与宿主机器一致
https://blog.csdn.net/qq_33547243/article/details/107433616(有安装显卡驱动教程,cuda,和cudnn)
检查cuda是否可用
import torch
torch.cuda.is_available()
使用GPU与docker-nvidia2.0
https://medium.com/@linhlinhle997/how-to-install-docker-and-nvidia-docker-2-0-on-ubuntu-18-04-da3eac6ec494
编码问题解决
宿主机pytho使用print打印中文没有问题,但是容器就会有问题,所以重新开一个容器。
https://blog.csdn.net/while10/article/details/111671556
sudo docker run -e PYTHONIOENCODING=utf-8 --runtime=nvidia -it --name transdocker5 nvidia/cuda:10.1-devel /bin/bash
docker的删除
https://www.codeleading.com/article/79443929150/ (下面的命令来自于这个操作,亲自实践)
sudo apt-get autoremove docker docker-ce docker-engine docker.io containerd runc
镜像的备份和迁移
https://www.cnblogs.com/alexzhang92/p/10512640.html
导出某一个容器
docker export 1e560fca3906 > ubuntu.tar
test/ubuntu:v1是一个镜像,这个名字可以自己起,ubuntu.rar是导出的容器。
cat docker/ubuntu.tar | docker import - test/ubuntu:v1
得到镜像后,然后我们可以开启一容器。
如果要保存元数据(nvidia),需要先commit然后再save。
提交transdocker5(容器名)作为transdocker镜像
docker commit transdocker5 transdocker
将镜像transdocker, 输出到transdocker.tar文件
docker save -o transdocker.tar transdocker
得到.tar文件后,我们只需要在主机上将它load进来,然后再相应的镜像中就有这个文件了。
docker load -i transdocker.tar
修改docker ip
https://www.cnblogs.com/kingsonfu/p/11578073.html
查看docker信息,可以显示IP
sudo docker inspect transdocker5
docker部署容器
https://www.pianshen.com/article/805788059/