Docker-基础

Docker基础

安装配置

安装步骤

# 1. 将阿里云镜像地址添加到yum仓库配置中
yum install yum-utils # 安装管理 yum 的配置文件和仓库软件包
sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo # 将阿里云镜像地址添加到yum仓库配置中

# 2. 清空缓存,更新仓库
yum makecache fast

# 3. 安装docker
yum -y install docker-ce

# 4. 查看版本(不会显示Server部分的信息)
sudo docker version
docker info

# 5. 启动Docker-CE(将会显示Server部分的信息)
systemctl start docker

# 6. 设置开机自启
systemctl enable docker

# 7.卸载docker,可以使用下方命令
yum remove docker-ce # 执行卸载
rm -rf /var/lib/docker # 清除所有的文件目录

注意:
官方软件源里认启用了最新的软件,您可以通过编辑软件源的方式获取各个版本的软件包。例如官方并没有将测试版本的软件源置为可用,您可以通过以下方式开启。同理可以开启各种测试版本等。

vi /etc/yum.repos.d/docker-ee.repo
# 将[docker-ce-test]下方的enabled=0修改为enabled=1

安装指定版本的Docker-CE:

# 1. 查找Docker-CE的版本:
yum list docker-ce.x86_64 --showduplicates | sort -r

- updates: mirrors.aliyun.com
Loading mirror speeds from cached hostfile
Loaded plugins: fastestmirror, langpacks
Installed Packages
- extras: mirrors.aliyun.com
docker-ce.x86_64            3:26.1.4-1.el7                     docker-ce-stable 
docker-ce.x86_64            3:26.1.4-1.el7                     @docker-ce-stable
docker-ce.x86_64            3:26.1.3-1.el7                     docker-ce-stable 
docker-ce.x86_64            3:26.1.2-1.el7                     docker-ce-stable 
docker-ce.x86_64            3:26.1.1-1.el7                     docker-ce-stable 
- base: mirrors.aliyun.com
Available Packages

# 2. 安装指定版本的Docker-CE:(VERSI0N例如上面的3:26.1.4-1.el7)
yum -y install docker-ce-[VERSION]
yum -y install docker-ce-3:26.1.4-1.el7

指令帮助

# 查看docker执行参数
docker -h or --help

# 查看二级命令参数
docker run --help

镜像

常用镜像操作

# 搜索镜像
docker search [image name]

# 拉取镜像
docker pull [image name]

# 查看镜像
docker images

# 删除镜像
docker rmi [IMAGE ID]
docker rmi [image name]

容器

介绍

  • 主机端口与容器端口实行隔离,所以需要指定主机与容器端口。
  • 每个容器之前也是相互隔离的,不同的容器需要指定不同的主机端口映射。
  • 不同的容器可以使用相同的镜像文件。

使用

运行容器(也可代表安装后运行,新建一个容器)

最后一个参数一定是镜像id或镜像名称

docker run [IMAGE NAME] or [IMAGE ID]
docker run [IMAGE ID]

例如:

docker run -d -p 80:80 --name [CONTAINER NAME] [IMAGE NAME]

参数

-i,--interactive,以交互模式运行容器,并保持终端激活。 注:交互就是用户输入命令,机器执行命令,并提供返回结果。那么在哪里输入命令呢?得有一个终端吧,所以这个命令必须与 -a 或 -t 命令配合使用。-a 选项用于指定将容器的标准输出连接到终端。使用 -t 选项创建的容器会分配一个伪终端,并将容器的标准输入、输出和错误连接到该终端。
-t,--tty:为容器分配一个伪终端。
-d, --detach 后台运行,守护线程,并返回容器ID
-p port 80:80 主机端口:容器内端口 指定端口
-P Port 暴露容器中所有端口,并在主机中使用随机一个端口进行映射

--name [CONTAINER NAME] 指定容器名称(唯一)
--rm 容器退出后删除

--restart 重启策略;指定容器关闭时的重启策路,有三种可选策路,no(默认):表示不重启;on-failure:当失败时重启,还可以加上3眉定最多重启3次,如果3次都失败就不再重启了;always:只要已关闭就自动重启。(手动停止后不会再次重启)
--restart on-failure:3

-e or --env 指定容器的环境变量,-e 分隔多个环境变量
-e JAVA_ENV=dev -e JAVA_VM=G1

容器的一些常用操作

# 在容器内打开一个终端并执行命令
docker exec -it [CONTAINER ID]or [CONTAINER NAME] [command]
# 进入容器内部
docker exec -it [CONTAINER ID]or [CONTAINER NAME] /bin/bash


# 查看正在运行的容器状态
docker ps
# 查看所有的容器状态
docker ps -a


# 删除容器
docker rm [CONTAINER ID] or [CONTAINER NAME]
#正在运行的容器无法直接删除,可以使用force进行强制删除
docker rm -f [CONTAINER ID] or [CONTAINER NAME]


# 启动容器
docker start [CONTAINER ID]or [CONTAINER NAME]
# 停止容器
docker stop [CONTAINER ID]or [CONTAINER NAME]
# 重新启动容器
docker restart [CONTAINER ID]or [CONTAINER NAME]


#查看容器配置信息
docker inspect [CONTAINER ID] or [CONTAINER NAME]
#查看容器资源使用信息
docker stats [CONTAINER ID] or [CONTAINER NAME]


# 限制容器资源
docker run -m 2m --cpus 1 [CONTAINER ID]or [CONTAINER NAME] # 限制内存为2mb(byte b,KB k,MB m,GB g,TB t),CPU为1个


# 查看日志
docker logs [CONTAINER ID]or [CONTAINER NAME]
参数:
-f or --fllow 追踪日志输出
-n or -- tail 20 指定数量的行数输出
你遇到的错误: ``` E: Unable to locate package docker-model-plugin ``` 说明安装脚本尝试安装一个 **不存在或命名错误的包**:`docker-model-plugin`。 --- ### 🔍 问题分析 从你的日志可以看出,这是你自定义或修改过的 Docker 安装流程(**不是原始 `get.docker.com` 脚本的行为**),因为你使用了阿里云镜像源,并手动添加了多个插件包。 关键命令如下: ```bash DEBIAN_FRONTEND=noninteractive apt-get -y -qq install \ docker-ce \ docker-ce-cli \ containerd.io \ docker-compose-plugin \ docker-ce-rootless-extras \ docker-buildx-plugin \ docker-model-plugin # ❌ 这个包名是错的! ``` #### ❌ 错误点:`docker-model-plugin` 并不存在! Docker 官方和阿里云镜像站中 **没有名为 `docker-model-plugin` 的 APT 包**。 这可能是拼写错误或误解了某个实验性工具的名字。 > ✅ 正确的常用插件只有: - `docker-buildx-plugin` ✅ —— 构建多架构镜像 - `docker-compose-plugin` ✅ —— `docker compose` 命令支持 - `docker-ce-rootless-extras` ✅ —— Rootless 模式支持 而 `docker-model-plugin` 是 **完全不存在的包名** → 导致 `apt` 报错退出。 --- ### ✅ 解决方案:移除无效包名,重新安装 #### ✅ 方法一:手动运行正确命令(推荐) ```bash # 只安装存在的、正确的包 sudo apt-get install -y \ docker-ce \ docker-ce-cli \ containerd.io \ docker-compose-plugin \ docker-ce-rootless-extras \ docker-buildx-plugin ``` 📌 所有这些包在阿里云镜像中都对 `focal` 提供支持(即使 EOL)。 #### ✅ 方法二:验证包是否存在(调试用) 你可以先查询可用包列表: ```bash apt-cache search docker | grep -i plugin ``` 你会看到类似输出: ``` docker-buildx-plugin - Docker Buildx plugin docker-compose-plugin - Docker Compose plugin ``` 但 **不会出现 `docker-model-plugin`**。 --- ### 🧩 额外说明:有没有“model”相关的功能? 目前 Docker 官方生态中 **没有任何标准插件叫 `model-plugin`**。 可能混淆的内容包括: | 可能来源 | 说明 | |--------|------| | **Docker AI Plugins (实验性)** | 社区有人讨论为 Docker 添加 AI 模型管理插件,但未成为官方包 | | **Rancher / Podman 扩展** | 其他容器平台可能有模型服务概念 | | **打字错误?** | 是否应为 `docker-container-plugin` 或其他?→ 也不存在 | 👉 结论:删除 `docker-model-plugin` 即可解决问题。 --- ### ✅ 完整修复后的安装脚本(适用于 Ubuntu 20.04 + 阿里云) ```bash #!/bin/bash echo "✅ 开始安装 Docker 环境..." # 1. 安装基础依赖 sudo apt-get update sudo apt-get install -y ca-certificates curl gnupg # 2. 创建密钥环目录 sudo install -m 0755 -d /etc/apt/keyrings # 3. 下载阿里云 GPG 公钥 curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | \ sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg sudo chmod a+r /etc/apt/keyrings/docker.gpg # 4. 添加阿里云源(注意 arch 和 signed-by) echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://mirrors.aliyun.com/docker-ce/linux/ubuntu \ $(. /etc/os-release && echo $VERSION_CODENAME) stable" | \ sudo tee /etc/apt/sources.list.d/docker.list > /dev/null # 5. 更新包索引 sudo apt-get update # 6. 安装 Docker 核心组件(不含错误包) sudo DEBIAN_FRONTEND=noninteractive apt-get install -y \ docker-ce \ docker-ce-cli \ containerd.io \ docker-buildx-plugin \ docker-compose-plugin \ docker-ce-rootless-extras # 7. 验证安装 sudo docker run --rm hello-world # 8. 当前用户加入 docker 组 sudo usermod -aG docker $USER echo "请重新登录以应用 docker 组权限" echo "🎉 Docker 安装完成!" ``` --- ### ✅ 验证是否成功 运行以下命令测试: ```bash # 查看版本 docker --version docker-compose --version docker buildx version # 测试运行 docker run --rm alpine echo "Hello from Docker!" ``` ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值