docker install

方法1:

  1. 1.Update the apt package index and install packages to allow apt to use a repository over HTTPS:
  2. sudo apt-get remove docker docker-engine docker.io containerd runc
  3. sudo apt-get update
  4. sudo apt-get install \
  5. apt-transport-https \
  6. ca-certificates \
  7. curl \
  8. gnupg-agent \
  9. software-properties-common
  10. 2.Add Dockers official GPG key:
  11. curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
  12. sudo apt-key fingerprint 0EBFCD88
  13. sudo add-apt-repository \
  14. "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
  15. $(lsb_release -cs) \
  16. stable"
  17. 3.INSTALL DOCKER ENGINE
  18. sudo apt-get update
  19. sudo apt-get install docker-ce docker-ce-cli containerd.io

方法2:

wget -qO- https://get.docker.com/ | sh

启动docker服务:

sudo service docker start

wsl 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

安装

参考

  1. 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

  1. 获得源列表所以, 可将distribution手动指定为ubuntu18.04(Debian10 对应改为 debian9)

修改后的命令如下:

  1. distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
  2. curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add -
  3. curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list
  4. 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 测试

  1. 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 ## 免sudo plain 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

方法二:

  1. # 停止 docker
  2. sudo service docker stop
  3. # 移动到新路径
  4. sudo mv /var/lib/docker /data/var/lib/
  5. # 创建软连接
  6. sudo ln -s /data/var/lib/docker /var/lib/docker
  7. # 启动 docker
  8. sudo service docker start