ubuntu 22.04 docker 安装&使用

海哥  论坛元老 | 2025-4-17 23:00:04 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 1571|帖子 1571|积分 4713

docker 安装

官网安装教程:https://docs.docker.com/engine/install/ubuntu/
0.卸载旧版本

查看系统版本
  1. lsb_release -a
复制代码

  1. 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存储库

  1. # Add Docker's official GPG key:
  2. sudo apt-get update
  3. sudo apt-get install ca-certificates curl
  4. sudo install -m 0755 -d /etc/apt/keyrings
  5. sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
  6. sudo chmod a+r /etc/apt/keyrings/docker.asc
  7. # Add the repository to Apt sources:
  8. echo \
  9.   "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
  10.   $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}") stable" | \
  11.   sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
  12. sudo apt-get update
复制代码
2.安装Docker软件包

  1. sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
复制代码
查看 docker 版本
  1. docker -v
复制代码

3.配置加速地点:设置registry mirror

  1. sudo mkdir -p /etc/docker
  2. sudo tee /etc/docker/daemon.json <<-'EOF'
  3. {
  4.     "registry-mirrors": [
  5.         "https://alzgoonw.mirror.aliyuncs.com",
  6.         "https://do.nark.eu.org",
  7.         "https://dc.j8.work",
  8.         "https://docker.m.daocloud.io",
  9.         "https://dockerproxy.com",
  10.         "https://docker.mirrors.ustc.edu.cn",
  11.         "https://docker.nju.edu.cn"
  12.     ]
  13. }
  14. EOF
复制代码
重载地点&重启docker&查看状态&查看配置的加速地点是否成功
  1. sudo systemctl daemon-reload   #重要
  2. sudo systemctl restart docker
  3. systemctl status docker
  4. docker info
复制代码



4.通过运行hello-world映像来验证安装成功

  1. sudo docker run hello-world
复制代码

查看是否成功拉取hello-world镜像
  1. docker images
复制代码

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加速容器。目前包括:

0.先决条件

需要已经安装Ubuntu 匹配的NVIDIA GPU驱动步伐,以及docker。
1.配置生产存储库

× 英伟达官网(慢)
  1. curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg \
  2.   && curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list | \
  3.     sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \
  4.     sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list
复制代码
√ 国内库(推荐)
  1. curl -fsSL https://mirrors.ustc.edu.cn/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg \
  2. && curl -s -L https://mirrors.ustc.edu.cn/libnvidia-container/stable/deb/nvidia-container-toolkit.list | \
  3. sed 's#deb https://nvidia.github.io#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://mirrors.ustc.edu.cn#g' | \
  4. sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list
复制代码
2.从存储库中更新包装列表

  1. sudo apt-get update
复制代码
3.安装NVIDIA容器工具包

  1. sudo apt-get install -y nvidia-container-toolkit
复制代码
4.验证安装

  1. nvidia-container-cli  --version
复制代码

5.配置docker

允许 Docker 容器访问和利用 NVIDIA GPU 资源,从而支持 GPU 加速。
(1)给Docker安装"显卡驱动",让Docker容器能直接调用NVIDIA显卡
  1. sudo nvidia-ctk runtime configure --runtime=docker
复制代码

(2)重启docker
  1. systemctl restart docker
复制代码
(3)修改 /etc/docker/daemon.json 文件,将 NVIDIA 容器运行时的配置信息写入 Docker 的配置文件中。
  1. cat /etc/docker/daemon.json
  2.     "runtimes": {
  3.         "nvidia": {
  4.             "args": [],
  5.             "path": "nvidia-container-runtime"
  6.         }
  7.     }
复制代码
(4)查看docker 支持的运行时有没有nvidia
  1. docker info | grep Runtimes
复制代码

(5) 启动容器运行 nvidia-smi 查看效果
  1. sudo docker run --rm --runtime=nvidia --gpus all ubuntu nvidia-smi
复制代码
–runtime=nvidia : 指定容器运行时
–gpus all:哀求所有可用的 GPU 资源
nvidia-smi:查看 NVIDIA GPU 的状态信息,包括 GPU 使用率、内存使用情况等


常用命令

服务相关

  1. sudo systemctl start docker        # 启动服务sudo systemctl stop docker         # 停止docker服务sudo systemctl enable docker       # 设置开机自启sudo systemctl restart docker
  2.       # 重启服务sudo systemctl status docker       # 检查服务状态sudo systemctl enable docker       # 设置开机启动docker服务
复制代码
镜像相关

  1. docker images
  2.                       # 查看当地所有的镜像docker search <镜像名称>            # 从网络中查找需要的镜像
复制代码
容器相关

  1. docker ps        # 查看正在运行的容器
  2. docker ps -a     # 查看所有容器(包括已停止的)
  3. docker run <参数>   # 创建并启动容器,仅只用运行一次(每次docker run都会生成新容器)
  4. docker start 容器名称/容器id  # 启动容器,每次开机后启动
  5. docker exec -it 容器名称/容器id bash  # 进入 容器
  6. docker stop 容器名称/容器id   # 停止容器
  7. docker rm 容器名称/容器id  # 删除容器:如果容器是运行状态则删除失败,需要停止容器才能删除。
  8. docker inspect 容器名称/容器id # 查看容器信息
复制代码


数据卷相关



  • 数据卷是宿主机中的一个目录或文件
  • 当容器目录和数据卷目录绑定后,对方的修改会立即同步
  • 一个数据卷可以被多个容器同时挂载
  • 一个容器也可以挂在多个数据卷
创建启动容器时,使用-v参数设置数据卷
  1. docker run … -v 宿主机目录(文件):容器目录(文件)…
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

海哥

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表