Docker在Linux上的部署安装教程

一、前言

Docker是一种开源的‌容器化平台‌,用于快速构建、打包、分发和运行应用程序。它通过轻量级的“容器”技术,将应用及其依赖环境(如库、配置文件等)打包成一个标准化、可移植的单元,实现‌“一次构建,随处运行”‌的目标。docker采用轻量级的虚拟化技术,基于主机操作系统内核运行,共享资源但相互隔离。相比传统虚拟机(VM),启动更快、占用资源更少。

二、安装步骤

0.硬件要求

这里以笔者的 Ubuntu 24.04.2 LTS 笔记本,内存32G为例进行安装说明。

1. 更新系统包

解释

sudo apt update
sudo apt upgrade -y 

注意:运行这两条命令是必要的,否则后面安装包可能提示找不到包

2. 安装 Docker 依赖

解释

sudo apt install -y apt-transport-https ca-certificates curl software-properties-common

这些是用于 HTTPS 传输支持、证书管理以及添加新的仓库所需的依赖项。

3. 添加 Docker 官方 GPG 密钥

解释

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

下载 Docker 的官方 GPG 密钥并将它添加到系统的密钥环中,以验证从 Docker 官方仓库下载的软件包的真实性。

4. 添加 Docker 仓库

解释

echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

创建一个新的 APT 软件源列表文件/etc/apt/sources.list.d/docker.list,该文件包含了 Docker 官方仓库的信息。这允许通过标准的 APT 工具来安装 Docker。

5. 安装 Docker CE

解释

sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io
sudo systemctl start docker && sudo systemctl enable docker
  • sudo apt update:再次更新软件包列表,这次包含新添加的 Docker 仓库。
  • sudo apt install -y docker-ce docker-ce-cli containerd.io:安装 Docker 社区版 (docker-ce) 及其 CLI 工具 (docker-ce-cli) 和容器运行时 (containerd.io)。
  • sudo systemctl start docker && sudo systemctl enable docker:systemctl: 这是用于控制系统服务的工具,在基于 systemd 的 Linux 系统(如 Ubuntu)中用来管理系统服务的状态(启动、停止、重启等)。这条命令启动 Docker 服务,并确保 Docker 服务会在系统启动时自动启动,而不需要手动去开启它。

6. 验证 Docker 安装

解释

sudo docker --version
sudo docker run hello-world
  • sudo docker --version:检查 Docker 是否正确安装,并显示安装的版本号。
  • sudo docker run hello-world:尝试运行一个简单的测试容器来验证 Docker 是否能够正常工作。如果一切正常,这个命令会自动拉取并运行一个名为 hello-world 的 Docker 镜像,并打印一条欢迎消息。笔者运行结果:

三、配置 Docker 镜像加速

因为Docker 默认镜像源registry-1.docker.io位于国外,如果网络较慢或访问不了,强烈建议配置国内镜像加速。

笔者一开始运行上述命令“sudo docker run hello-world”就遇到如下问题:

进行了如下国内镜像设置

1. 创建或修改 Docker 配置文件

解释

bash深色版本
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<EOF
{
  "registry-mirrors": [
    "https://docker.m.daocloud.io"
  ]
}
EOF

创建或编辑/etc/docker/daemon.json文件,添加国内镜像加速地址。

注意:一定设置上面的网址:https://docker.m.daocloud.io网上搜索也会看到其他的地址,但我试了都不好使。这个网址当前(25.5.10)亲测是有效的。如果你不确定镜像网址是否有效,可以先在浏览器里访问,若能访问才有效。

2. 重启 Docker 服务

解释

sudo systemctl daemon-reload
sudo systemctl restart docker

重新加载 systemd 配置并重启 Docker 服务以应用更改。

3. 重新尝试运行 Docker 命令

现在,你应该可以重新尝试运行之前失败的命令:

解释

sudo docker run hello-world

如果仍然遇到问题,可按照以下步骤进一步排查:

  • 确认网络连接是否正常。
  • 尝试手动指定镜像源,例如上面给的镜像:

解释

sudo docker pull docker.m.daocloud.io/library/hello-world:latest
  • 如果上述方法仍无效,请检查防火墙设置、代理配置等网络相关设置。

四、检查Docker运行情况

1.检查 Docker 服务是否运行

  • 使用 systemctl 命令
    这是最直接的方法来检查 Docker 服务的状态。

解释

sudo systemctl status docker

如果 Docker 正在运行,你会看到类似于 "active (running)" 的状态信息。如果 Docker 没有运行,状态会显示为 "inactive (dead)"。

  • 使用 service 命令
    另一种方法是使用 service 命令:

解释

sudo service docker status

输出和上面基本相同。

2.查看正在运行的 Docker 容器

要查看当前正在运行的 Docker 容器及其使用的镜像,可以使用以下命令:

  • 列出所有正在运行的容器
    使用 docker ps 命令可以列出所有当前正在运行的容器。

解释

docker ps


这个命令会输出每个容器的 ID、使用的镜像、创建的时间、状态、名称等信息。

  • 列出所有容器(包括停止的)
    如果你还想查看已经停止的容器,可以添加 -a 参数:

解释

docker ps -a
  • 查看容器详细信息
    对于任何特定的容器,如果你想查看更多信息,可以使用 docker inspect <容器ID或名称> 命令,将 <容器ID或名称> 替换为你感兴趣的容器的实际ID或名称。

我是@AI增效,专注于研究AI应用和增效,持续分享AI探索和实践,期待和大家一起交流。

### 下载、安装部署 Docker #### 准备工作 为了确保顺利安装 Docker,在开始之前需确认 Linux 系统已更新至最新状态,并拥有必要的依赖包。这可以通过运行 `yum update` 更新系统软件包来完成[^3]。 #### 添加官方仓库 由于默认的 CentOS 库可能不包含最新的 Docker 版本,因此建议先添加阿里云提供的 Docker CE 企业版库作为镜像源。具体命令如下: ```bash sudo yum install -y yum-utils device-mapper-persistent-data lvm2 sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo ``` 上述操作会向 YUM 中加入新的资源库配置,使得可以从指定 URL 获取 Docker 的二进制文件及其相关组件。 #### 执行实际安装过程 当一切准备就绪之后,就可以通过下面这条简单的指令一次性完成 Docker 及其 CLI 工具还有 Containerd IO 的安装了: ```bash sudo yum install docker-ce docker-ce-cli containerd.io ``` 此步骤将会自动解析并下载所需的 RPM 文件,随后将其安装到目标机器上。 #### 启动服务与验证安装成果 成功安装后,应当立即启用并启动 Docker 服务以便能够立刻投入使用;同时也可以利用客户端程序测试是否可以正常连接守护进程端口。 ```bash sudo systemctl enable docker.service && sudo systemctl start docker.service sudo docker run hello-world ``` 如果一切正常的话,则会在终端显示一段欢迎信息,证明 Docker 正确无误地完成了初始化流程[^1]。 #### 加载自定义镜像(可选) 对于那些已经预先构建好的应用程序映像而言,可以直接加载它们进入当前环境之中而无需重新拉取远程副本。例如,假设有一个名为 `redis.tar` 的 Redis 数据库压缩包位于本地磁盘内,那么只需执行以下语句即可实现快速导入: ```bash sudo docker load -i redis.tar ``` 该功能特别适用于网络条件不佳的情况下迁移现有实例或是恢复备份数据时使用[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值