下载docker Install Docker Engine on Ubuntu
https://docs.docker.com/engine/install/ubuntu/
dockerfile 用法
dockerfile 换源 https://zhuanlan.zhihu.com/p/121660487
docker 中文文档
https://yeasy.gitbook.io/docker_practice/
Docker部署Anaconda+Tensorflow深度学习环境(包括CUDA和cudnn
https://zhuanlan.zhihu.com/p/281112065)
列出本地主机上的镜像
sudo docker images
REPOSITORY:表示镜像的仓库源
TAG:镜像的标签
IMAGE ID:镜像ID
CREATED:镜像创建时间
SIZE:镜像大小
docker rmi hello-world
删除none的镜像,要先删除镜像中的容器。要删除镜像中的容器,必须先停止容器。
$ docker images
$ docker rmi $(docker images | grep "none" | awk '{print $3}')
直接删除带none的镜像,直接报错了。提示先停止容器。
$ docker stop $(docker ps -a | grep "Exited" | awk '{print $1 }') //停止容器
$ docker rm $(docker ps -a | grep "Exited" | awk '{print $1 }') //删除容器
$ docker rmi $(docker images | grep "none" | awk '{print $3}') //删除镜像
然后,进行免秘钥配置:
sudo addgroup --system docker
sudo adduser $USER docker
newgrp docker
tensorflow镜像https://tensorflow.google.cn/install/docker?hl=zh_cn
docker pull tensorflow/tensorflow:latest-gpu-jupyter
docker run -it -p 8888:8888 tensorflow/tensorflow:latest-gpu-jupyter
sudo docker run -it tensorflow/tensorflow:latest-gpu-jupyter bash
sudo docker run -it --name=zhl tensorflow/tensorflow:latest-gpu-jupyter bash
https://hub.docker.com/r/nvidia/cuda/
Container的安装与使用 - 郝先森的文章 - 知乎
https://zhuanlan.zhihu.com/p/483416326
所需要的命令主要为 docker run。
sudo docker run -t -i ubuntu:18.04 /bin/bash
docker run ubuntu:18.04 /bin/echo 'Hello world'
-p 80:5000 本地端口:容器端口
-d 后台运行
-v 挂载
-t 选项让Docker分配一个伪终端并绑定到容器的标准输入上
-i 则让容器的标准输入保持打开。
当利用 docker run 来创建容器时,Docker 在后台运行的标准操作包括:
sudo docker ps --all
#列出所有容器 包括终止的
sudo docker container ls
#列出所有容器 不包括终止的 -a 包括终止的
docker container stop [name]
docker container restart [name]
docker container ls -a #先看看所有的容器
docker start [容器id]
docker container start zhl
docker exec -it 74e4 bash
docker container rm container_name
docker container prune #清理所有处于终止状态的容器
我们可以通过以下命令将容器保存为镜像
docker commit pinyougou_nginx mynginx
pinyougou_nginx是容器名称
mynginx是新的镜像名称
https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/overview.html#installation-guide
nvidia-docker2
https://github.com/NVIDIA/nvidia-docker/tree/gh-pages/
nvidia-container-toolkit
https://github.com/NVIDIA/nvidia-container-runtime/tree/gh-pages/
libnvidia-container
https://github.com/NVIDIA/libnvidia-container/tree/gh-pages/
https://blog.csdn.net/zdx1996/article/details/88774674
https://github.com/lambdal/lambda-stack-dockerfiles
一次性安装TensorFlow,Keras,Caffe,Caffe,CUDA,cuDNN和NVIDIA驱动程序
sudo docker run -it --gpu --name=zhl -p 8001:22 -p 8002:6000 -p 8003:6006 -v /data/zhl_docker:/data nvidia/cuda:11.1.1-cudnn8-devel-ubuntu20.04
sudo docker run --gpus all -it --name=zhl -p 8001:22 -p 8002:6000 -p 8003:6006 -v /data/zhl_docker:/data lambda-stack:18.04 bash
sudo docker run --gpus 2 lambda-stack:18.04 python3 -c "import torch; print(torch.cuda.device_count())"
建立了一个nvidia/cuda:11.1.1-cudnn8-devel-ubuntu20.04 镜像的容器, 将 本地端口:容器端口 映射,容器name = zhl, 容器路径/data 挂载在 本地路径 /data/zhl_docker 上 。之后对容器进行操作。
方法一 通过挂载路径,将文件放在本地路径 /data/zhl_docker
方法二 拷贝
docker cp 服务器文件路径 容器名:容器路径
Docker容器内更新apt-get 国内加速
sed -i 's/archive.ubuntu.com/mirrors.ustc.edu.cn/g' /etc/apt/sources.list
apt-get update
3、更新apt-get
apt-get update
4、下载yum工具
apt-get install yum
apt-get install openssh-server #安装openssh-server
ps -e | grep ssh #查看ssh服务是否启动
service ssh start # 启动ssh服务
apt install net-tools #安装网络服务
ifconfig
# 172.17.0.2
vim /etc/ssh/sshd_config
Port 8080
PermitRootLogin yes
/etc/init.d/ssh restart
passwd #修改密码
sudo ssh [email protected] -p 8080
参考文件传输本地下载 官网下载sh文件放在映射目录中
安装教程 https://zhuanlan.zhihu.com/p/426655323
bash Anaconda3-2021.05-Linux-x86_64.sh
#conda init 选yes
source ~/.bashrc
下载插件 Remote - Containers
在 VS Code 中使用容器开发 教程
到此为之,通用的docker 容器cuda+anaconda+vscode+tensorflow 配置教程完毕。