【Docker 系列1】如何在不同操作系统上完美安装Docker?老司机亲测教程!
CentOS8安装Docker
CentOS8使用Docker部署Streamlit
部署环境:
- Linux:Linux 操作系统,以 CentOS Stream 8 为例。
- Docker:容器管理,以Docker CE 24.0.7为例。
安装
卸载旧版本
1 | sudo yum remove docker \ |
卸载后将保留 /var/lib/docker 的内容(镜像、容器、存储卷和网络等),也删除。
1 | rm -rf /var /lib/docker |
更新yum源
1 | yum makecache |
设置docker仓库
1 | sudo yum install -y yum-utils |
查看docker版本
1 | docker -v |
启动docker
1 | systemctl start docker |
检查docker是否安装成功,打印出:Hello from Docker! 说明安装成功。
1 | docker run hello-world |
设置docker开机自启动
1 | systemctl enable docker |
Ubuntu20.04安装Docker
自动安装
在测试或开发环境中 Docker 官方为了简化安装流程,提供了一套便捷的安装脚本,Ubuntu 系统上可以使用这套脚本安装,另外可以通过 –mirror 选项使用国内源进行安装:
1 | curl -fsSL get.docker.com -o get-docker.sh |
执行这个命令后,脚本就会自动的将一切准备工作做好,并且把 Docker 的稳定(stable)版本安装在系统中。
安装 NVIDIA Docker
但是上面的脚本没有安装 NVIDIA Docker 支持, 如果运行需要GPU的容器会报如下错误:
1 | root@dell:~# docker run -it --rm --gpus all --net host -v /home/dell/lqm/aigc/Diffusion/Difftraj chengdu:/difftraj difftraj:2.0.1-py3.10.11-cuda11.8.0-ubuntu22.04 |
- 添加 NVIDIA Docker 仓库:
- 对于 Ubuntu/Debian 系统,运行以下命令:
1
2
3distribution=$(. /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 - 对于 RHEL/CentOS 系统,运行以下命令:
1
2distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.repo | sudo tee /etc/yum.repos.d/nvidia-docker.repo
- 安装 NVIDIA Docker:
- 更新包管理器的索引并安装 NVIDIA Docker 包:
- 对于 Ubuntu/Debian:
1
2sudo apt-get update
sudo apt-get install -y nvidia-docker2 - 对于 RHEL/CentOS:
1
2sudo yum clean expire-cache
sudo yum install -y nvidia-docker2
- 对于 Ubuntu/Debian:
- 重新启动 Docker 服务:
- 安装完成后,您需要重启 Docker 服务来应用更改:
1
sudo systemctl restart docker
- 验证安装
- 运行一个测试容器以验证 NVIDIA Docker 是否安装正确:
1
docker run --rm --gpus all nvidia/cuda:11.0.3-base nvidia-smi
- 这个命令会运行一个具有 CUDA 支持的容器,并在容器内执行 nvidia-smi。如果一切正常,将看到 GPU 的信息。
手动安装
首先卸载旧版本,确保卸载任何冲突的软件包(也就是旧版本的Docker组件)。Ubuntu在apt仓库中提供了Docker软件包的非官方分发版,该版本由Ubuntu负责维护和发行,必须先卸载这些软件包,然后才能安装Docker Engine的官方版本。
1 | for pkg in docker.io docker-doc docker-compose podman-docker containerd runc; do sudo apt-get remove $pkg; done |
卸载了这四个包:
- docker.io
- docker-compose
- docker-doc
- podman-docker
添加Docker官方仓库的GPG key
1 | sudo install -m 0755 -d /etc/apt/keyrings |
apt安装Docker Engine
1 | sudo apt-get update |
配置Docker仓库
1 | echo \ |
接着安装NVIDIA Docker,见自动安装部分。
Windows安装Docker Desktop
Win10
下载:Install Docker Desktop on Windows
参考:【全面详细】Windows10 Docker安装详细教程
Win11-家庭版
- 下载:Install Docker Desktop on Windows
- 参考:Docker安装教程——以Windows11家庭中文版为例_win11家庭版安装docker-CSDN博客
安装问题 - Docker desktop第一次启动一直在转圈,显示starting the Docker Engine
可能原因:
- 没有Hyper-V内置虚拟机,需要手动安装
Win11家庭版找不到hyper-v|Win11家庭版没hyper-v虚拟机_白云一键重装系统 - 还需要安装wsl(适用于linux的windows子系统)
Windows Docker Desktop安装教程及踩坑记录
以管理员的身份打开CMD或PowerShell运行以下命令更新wsl1
netsh winsock reset
在控制面板-程序-启用或关闭windows功能勾选上以下三个内容1
wsl --update
Docker Desktop 设置容器资源限制
有时候Docker容器里的大模型会出现爆内存等问题,可能是容器资源设置了限制。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 sbemo!