docker install
方法1:
1.Update the apt package index and install packages to allow apt to use a repository over HTTPS:
sudo apt-get remove docker docker-engine docker.io containerd runc
sudo apt-get update
sudo apt-get install \
apt-transport-https \
ca-certificates \
curl \
gnupg-agent \
software-properties-common
2.Add Docker’s official GPG key:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo apt-key fingerprint 0EBFCD88
sudo add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"
3.INSTALL DOCKER ENGINE
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io
方法2:
wget -qO- https://get.docker.com/ | sh
启动docker服务:
sudo service docker startwsl ubuntu
$ sudo docker version
Client: Docker Engine - Community
Version: 20.10.6
API version: 1.41
Go version: go1.13.15
Git commit: 370c289
Built: Fri Apr 9 22:46:01 2021
OS/Arch: linux/amd64
Context: default
Experimental: true
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
https://blog.csdn.net/lupengfei1009/article/details/94637398
问题1:
docker: Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?.See ‘docker run —help’.
sudo service docker start问题2: 未解决,没有安装成功
sudo docker run —gpus all nvcr.io/nvidia/k8s/cuda-sample:nbody nbody -gpu -benchmark[sudo] password for ubuntu18:
docker: Error response from daemon: OCI runtime create failed: container_linux.go:367: starting container process caused: process_linux.go:495: container init caused: Running hook #0:: error running hook: exit status 1, stdout: , stderr: nvidia-container-cli: initialization error: driver error: failed to process request: unknown.
ERRO[0000] error waiting for container: context canceled
有可能docker 和ubuntu 内核冲突,
有可能系统AMD Ryzen 9 对于docker虚拟化有问题可能。
https://github.com/NVIDIA/nvidia-docker/issues/1409
https://docs.nvidia.com/cuda/wsl-user-guide/index.html#installing-nvidia-docker
docker nvidia
https://github.com/NVIDIA/nvidia-container-toolkit
https://github.com/NVIDIA/nvidia-docker/wiki
https://www.cnblogs.com/journeyonmyway/p/11234572.html
nvidia-docker2
安装
- Ubuntu18.10直接使用以上命令无法安装nvidia-docker2的会提示
Unsupported distribution!
Check https://nvidia.github.io/nvidia-docker
原因在于distribution=$(. /etc/os-release;echo $ID$VERSION_ID)会获取当前系统的release版本然后构建地址从nvidia的仓库中获取源
而nvidia的仓库中没有
https://nvidia.github.io/nvidia-docker/ubuntu18.10/nvidia-docker.list
- 获得源列表所以, 可将distribution手动指定为ubuntu18.04(Debian10 对应改为 debian9)
修改后的命令如下:
distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add -
curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list
curl -s -L https://nvidia.github.io/libnvidia-container/experimental/$distribution/libnvidia-container-experimental.list | sudo tee /etc/apt/sources.list.d/libnvidia-container-experimental.list
进行gpu 测试
docker run -it --rm --gpus all ubuntu nvidia-smi
NVIDIA Container Toolkit
为了在docker中支持GPU,NVidia之前是弄了个nvidia-docker2,现在升级为NVIDIA Container Toolkit了。官方说法是”Usage of nvidia-docker2 packages are deprecated since NVIDIA GPUs are now natively supported as devices in the Docker runtime”
# 添加源 $ distribution=$(. /etc/os-release;echo $ID$VERSION_ID) $ curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add - $ curl -s -L https://nvidia.github.io/nvidia-docker/ $ distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list # 安装并重启docker $ sudo apt update && sudo apt install -y nvidia-container-toolkit$ sudo systemctl restart docker # docker ## 免sudoplain
ls -lrth docker.sock
sudo chmod 666 /var/run/docker.sock
ls -lrth docker.sock
## docker 镜像数据存储修改
### 实践可用:
官方文档的修改办法是编辑 /etc/docker/daemon.json 文件:
vim /etc/docker/daemon.json
默认情况下这个配置文件是没有的,这里实际也就是新建一个,然后写入以下内容:
{ “data-root”: “/www/docker” }
此文件还涉及默认源的设定,如果设定了国内源,那么实际就是在源地址下方加一行,写成:
{ “registry-mirrors”: [“http://hub-mirror.c.163.com“], “data-root”: “/www/docker” }
保存退出,然后重启 docker 服务:
systemctl restart docker
方法一:
1.docker创建的镜像数据默认存放在/var/lib/docker
2.安装好docker,可以通过docker info 查看信息
3.修改存放路径
sudo gedit /etc/default/docker
添加 DOCKER_OPTS=“-g /home/yao/ssd_1T/docker”
(/home/yao/ssd_1T/docker 是你要修改的路径)
4.重启docker
service docker restart
5.查看是否修改ok
docker info
主要看Root Dir 和 Docker Root Dir两个字段,是否是你修改后的路径/home/yao/ssd_1T/docker/aufs and /home/yao/ssd_1T/docker
sudo service docker restart
方法二:
# 停止 docker
sudo service docker stop
# 移动到新路径
sudo mv /var/lib/docker /data/var/lib/
# 创建软连接
sudo ln -s /data/var/lib/docker /var/lib/docker
# 启动 docker
sudo service docker start