ubuntu 22.04 docker 安装&使用
docker 安装官网安装教程:https://docs.docker.com/engine/install/ubuntu/
0.卸载旧版本
查看系统版本
lsb_release -a
https://i-blog.csdnimg.cn/direct/365005005ced42ab8fa952a24ecccbd7.png
for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done
1.设置Docker的apt存储库
# Add Docker's official GPG key:
sudo apt-get update
sudo apt-get install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
# Add the repository to Apt sources:
echo \
"deb https://download.docker.com/linux/ubuntu \
$(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
2.安装Docker软件包
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
查看 docker 版本
docker -v
https://i-blog.csdnimg.cn/direct/f81e8cc896a44ca391cd9bb9cfa4bbf8.png
3.配置加速地点:设置registry mirror
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": [
"https://alzgoonw.mirror.aliyuncs.com",
"https://do.nark.eu.org",
"https://dc.j8.work",
"https://docker.m.daocloud.io",
"https://dockerproxy.com",
"https://docker.mirrors.ustc.edu.cn",
"https://docker.nju.edu.cn"
]
}
EOF
重载地点&重启docker&查看状态&查看配置的加速地点是否成功
sudo systemctl daemon-reload #重要
sudo systemctl restart docker
systemctl status docker
docker info
https://i-blog.csdnimg.cn/direct/fb560a1bbfe743238c2272e57b0854d4.png
https://i-blog.csdnimg.cn/direct/ffa6122ee4004bbca4857865e2af719e.png
https://i-blog.csdnimg.cn/direct/1cbe6246cef74163ad43be5c3f61e444.png
4.通过运行hello-world映像来验证安装成功
sudo docker run hello-world
https://i-blog.csdnimg.cn/direct/690f5f76818b45fc8b46fb0a01c7ee92.png
查看是否成功拉取hello-world镜像
docker images
https://i-blog.csdnimg.cn/direct/b296f9218407407ca32ef40e390c8630.png
nvidia-container-toolkit 安装
官网手册:
概述 https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/index.html
安装 https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/install-guide.html#
NVIDIA Container Toolkit是库和实用步伐的集合,使用户能够构建和运行GPU加速容器。目前包括:
https://i-blog.csdnimg.cn/direct/ed98a8121f4c48a68a0e6742878334cb.png
0.先决条件
需要已经安装Ubuntu 匹配的NVIDIA GPU驱动步伐,以及docker。
1.配置生产存储库
× 英伟达官网(慢)
curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg \
&& curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list | \
sed 's#deb https://#deb https://#g' | \
sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list
√ 国内库(推荐)
curl -fsSL https://mirrors.ustc.edu.cn/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg \
&& curl -s -L https://mirrors.ustc.edu.cn/libnvidia-container/stable/deb/nvidia-container-toolkit.list | \
sed 's#deb https://nvidia.github.io#deb https://mirrors.ustc.edu.cn#g' | \
sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list
2.从存储库中更新包装列表
sudo apt-get update
3.安装NVIDIA容器工具包
sudo apt-get install -y nvidia-container-toolkit
4.验证安装
nvidia-container-cli--version
https://i-blog.csdnimg.cn/direct/ade66487ef0f413183a9d879bd6203e6.png
5.配置docker
允许 Docker 容器访问和利用 NVIDIA GPU 资源,从而支持 GPU 加速。
(1)给Docker安装"显卡驱动",让Docker容器能直接调用NVIDIA显卡
sudo nvidia-ctk runtime configure --runtime=docker
https://i-blog.csdnimg.cn/direct/3fdbc73d1fbb40a498bcff91401aa82f.png
(2)重启docker
systemctl restart docker
(3)修改 /etc/docker/daemon.json 文件,将 NVIDIA 容器运行时的配置信息写入 Docker 的配置文件中。
cat /etc/docker/daemon.json
"runtimes": {
"nvidia": {
"args": [],
"path": "nvidia-container-runtime"
}
}
(4)查看docker 支持的运行时有没有nvidia
docker info | grep Runtimes
https://i-blog.csdnimg.cn/direct/313899951689420eac8d388ee5aca698.png
(5) 启动容器运行 nvidia-smi 查看效果
sudo docker run --rm --runtime=nvidia --gpus all ubuntu nvidia-smi
–runtime=nvidia : 指定容器运行时
–gpus all:哀求所有可用的 GPU 资源
nvidia-smi:查看 NVIDIA GPU 的状态信息,包括 GPU 使用率、内存使用情况等
https://i-blog.csdnimg.cn/direct/d4154207ea6a44b4a66c4c83ed09919d.png
https://i-blog.csdnimg.cn/direct/2d6d4b90e58a406f877f36666c70b215.png
常用命令
服务相关
sudo systemctl start docker # 启动服务sudo systemctl stop docker # 停止docker服务sudo systemctl enable docker # 设置开机自启sudo systemctl restart docker
# 重启服务sudo systemctl status docker # 检查服务状态sudo systemctl enable docker # 设置开机启动docker服务 镜像相关
docker images
# 查看当地所有的镜像docker search <镜像名称> # 从网络中查找需要的镜像 容器相关
docker ps # 查看正在运行的容器
docker ps -a # 查看所有容器(包括已停止的)
docker run <参数> # 创建并启动容器,仅只用运行一次(每次docker run都会生成新容器)
docker start 容器名称/容器id# 启动容器,每次开机后启动
docker exec -it 容器名称/容器id bash# 进入 容器
docker stop 容器名称/容器id # 停止容器
docker rm 容器名称/容器id# 删除容器:如果容器是运行状态则删除失败,需要停止容器才能删除。
docker inspect 容器名称/容器id # 查看容器信息
https://i-blog.csdnimg.cn/direct/7e33592b830c4f46837daa83e1411785.png
https://i-blog.csdnimg.cn/direct/b31e8f4bde5e4fb29ea4376844ccb606.png
数据卷相关
[*]数据卷是宿主机中的一个目录或文件
[*]当容器目录和数据卷目录绑定后,对方的修改会立即同步
[*]一个数据卷可以被多个容器同时挂载
[*]一个容器也可以挂在多个数据卷
创建启动容器时,使用-v参数设置数据卷
docker run … -v 宿主机目录(文件):容器目录(文件)…
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页:
[1]