Docker
Install Docker
sudo apt install -y curl
sudo apt-get remove docker docker-engine docker.io
sudo rm -rf /var/lib/docker/
sudo apt-get update
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo apt-key fingerprint 0EBFCD88
sudo apt install -y software-properties-common
sudo add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"
sudo apt-get -y update
sudo apt-get install -y docker-ce
# or select version
# apt-cache madison docker-ce
# sudo apt-get install docker-ce=<VERSION>
docker -v
docker without sudo
sudo groupadd docker
sudo usermod -aG docker $USER
重启主机
nvidia docker
切换到root用户执行
echo "======================================== "
echo "======================================== "
echo "======= install nvidia docker ======== "
docker -v
echo "======================================== "
echo "======================================== "
# Add the package repositories
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
sudo apt-get update && sudo apt-get install -y nvidia-container-toolkit nvidia-docker2
sudo systemctl restart docker
sudo mkdir -p /etc/systemd/system/docker.service.d
sudo tee /etc/systemd/system/docker.service.d/override.conf <<EOF
[Service]
ExecStart=
ExecStart=/usr/bin/dockerd --host=fd:// --add-runtime=nvidia=/usr/bin/nvidia-container-runtime
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
sudo tee /etc/docker/daemon.json <<EOF
{
"runtimes": {
"nvidia": {
"path": "/usr/bin/nvidia-container-runtime",
"runtimeArgs": []
}
}
}
EOF
sudo pkill -SIGHUP dockerd
sudo dockerd --add-runtime=nvidia=/usr/bin/nvidia-container-runtime
宿主机显示 docker 图形
1)首先,在主系统里运行
> sudo apt-get install x11-xserver-utils
> xhost +
2)在启动docker容器时,添加选项如下:
-v /tmp/.X11-unix:/tmp/.X11-unix \ #共享本地unix端口
-e DISPLAY=unix$DISPLAY \ #修改环境变量DISPLAY
-e GDK_SCALE \ #我觉得这两个是与显示效果相关的环境变量,没有细究
-e GDK_DPI_SCALE \
最终的命令
> docker run -it -v /tmp/.X11-unix:/tmp/.X11-unix -e DISPLAY=unix$DISPLAY -e GDK_SCALE -e GDK_DPI_SCALE ubuntu:latest
3)进入docker验证
> sudo apt-get install xarclock
> xarclock
应该可以看到xserver端显示器显示时钟界面