Ubuntu 安装与配置 Docker

Ubuntu 安装与配置 Docker

Docker 是一个开源的容器化平台,允许开发者将应用程序及其依赖项打包在一个轻量级、可移植的容器中。它可以帮助开发者和运维人员快速构建、部署和管理应用程序,提升开发和运维效率。本文将介绍如何在 Ubuntu 系统上安装和配置 Docker 环境。

前提条件

  • 安装 Ubuntu 系统的服务器

  • 检查卸载老版本Docker

    bash 复制代码
    sudo apt-get remove docker docker-engine docker.io containerd runc

一、更新系统软件包

在安装 Docker 之前,首先确保你的 Ubuntu 系统已经更新到最新版本。打开终端并运行以下命令:

bash 复制代码
sudo apt update
sudo apt upgrade -y

这将更新系统中所有的软件包,确保我们安装 Docker 时不会遇到依赖问题。

二、安装 Docker 的依赖

Docker 依赖一些必要的软件包,我们需要先安装它们。运行以下命令:

bash 复制代码
sudo apt install apt-transport-https ca-certificates curl software-properties-common -y
  • apt-transport-https

    允许 apt 包管理器通过 HTTPS 协议与软件源进行通信。默认情况下,apt 只支持通过 HTTP 协议下载软件包,而 Docker 官方仓库只通过 HTTPS 提供包下载。安装此工具后,apt 就能通过 HTTPS 安全地下载 Docker 软件包。

  • ca-certificates

    包含了根证书,用于验证 SSL/TLS 连接的安全性。在 Docker 安装过程中,系统需要使用这些证书来确保与 Docker 官方仓库的 HTTPS 连接是安全的,避免下载的文件被篡改或伪造。

  • curl

    一个命令行工具,用于通过 URL 下载文件。在 Docker 安装过程中,curl 用于下载 Docker 官方的 GPG 密钥并将其添加到系统的密钥管理中。它确保从 Docker 官方服务器下载的软件包是安全和可信的。

  • software-properties-common

    提供了 add-apt-repository 命令,用于管理软件源。在安装 Docker 时,我们需要用这个工具将 Docker 官方软件仓库添加到系统的软件源列表中,以便从 Docker 官方源中获取最新的 Docker 软件包。

这些软件包允许 Ubuntu 从 HTTPS 源安装 Docker,并且确保系统能够安全地下载和安装 Docker 的依赖项。

三、添加 Docker 官方的 GPG 密钥

为了保证从 Docker 官方仓库下载的包的完整性,我们需要添加 Docker 的官方 GPG 密钥。使用以下命令:

bash 复制代码
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

四、添加 阿里云 Docker 仓库

接下来,我们需要将 阿里云 Docker 的仓库添加到 Ubuntu 的软件源列表中。运行以下命令:

bash 复制代码
sudo add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"

这里 $(lsb_release -cs) 会自动检测你的 Ubuntu 版本并根据版本选择适合的仓库。

五、更新软件包索引

添加仓库后,需要更新包管理器的索引:

bash 复制代码
sudo apt update

此时你可以查看 Docker 是否可以从 Ubuntu 软件仓库中获取到,运行以下命令:

bash 复制代码
apt-cache policy docker-ce

如果成功,你会看到类似以下的信息:

复制代码
docker-ce:
  Installed: (none)
  Candidate: 5:20.10.7~3-0~ubuntu-focal
  Version table:
     5:20.10.7~3-0~ubuntu-focal 500
        500 https://download.docker.com/linux/ubuntu focal/stable amd64 Packages

六、安装 Docker

现在可以安装 Docker 了,使用以下命令:

bash 复制代码
sudo apt install docker-ce docker-ce-cli containerd.io -y
  • docker-ce

    Docker Community Edition(Docker CE)是 Docker 的开源版本,它包含了 Docker 引擎(Docker Engine)、Docker CLI(命令行工具)、Docker 容器和镜像等。安装 docker-ce 是安装 Docker 的核心组件,它负责运行容器和管理 Docker 镜像。

  • docker-ce-cli
    docker-ce-cli包含 Docker 的命令行工具(CLI)。它是与 Docker 引擎进行交互的方式,可以用来构建、运行、停止和管理容器及镜像等。通过 docker-ce-cli,你可以使用命令行与 Docker 引擎进行各种操作。

  • containerd.io
    containerd 是一个开源的容器管理守护进程,负责在操作系统上运行和管理容器。它提供了从容器的创建、运行到生命周期管理的所有功能。containerd.io 是 Docker 的底层组件,用来处理容器的运行、存储和网络等基础任务。

这将安装 Docker 的最新稳定版本。

七、启动 Docker 服务

安装完成后,Docker 服务会自动启动。你可以运行以下命令来检查 Docker 是否正在运行:

bash 复制代码
sudo systemctl status docker

如果 Docker 已经运行,你应该能看到类似以下的信息:

复制代码
● docker.service - Docker Application Container Engine
   Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
   Active: active (running) since Sat 2025-04-08 12:34:56 UTC; 1min ago
     Docs: https://docs.docker.com
 Main PID: 1234 (dockerd)
    Tasks: 16
   Memory: 50.4M
   CGroup: /system.slice/docker.service
           └─1234 /usr/bin/dockerd --host=fd://

如果 Docker 没有运行,你可以运行以下命令来运行 Docker:

bash 复制代码
sudo systemctl start docker

八、配置 Docker 开机启动

为了让 Docker 在系统启动时自动启动,你可以运行以下命令:

bash 复制代码
sudo systemctl enable docker

九、验证 Docker 安装

要确认 Docker 是否安装成功,运行以下命令:

bash 复制代码
docker --version

如果安装成功,你将看到类似以下的输出:

复制代码
Docker version 20.10.7, build f0df350

此外,你还可以运行 hello-world 容器来进一步验证 Docker 是否正常工作:

bash 复制代码
sudo docker run hello-world

如果一切顺利,你将看到 Docker 成功下载并运行了一个测试容器,输出如下:

复制代码
Hello from Docker!
This message shows that your installation appears to be working correctly.

十、(可选)配置 Docker 为非 root 用户运行

默认情况下,Docker 需要使用 sudo 来运行。如果你希望以非 root 用户运行 Docker,可以将当前用户添加到 Docker 组:

bash 复制代码
sudo usermod -aG docker $USER

然后退出当前用户会话,重新登录或运行以下命令使组更改生效:

bash 复制代码
newgrp docker

此时,你可以无需 sudo 直接运行 Docker 命令了。

相关推荐
maosheng114624 分钟前
RHCSA的第一次作业
linux·运维·服务器
wifi chicken1 小时前
Linux 端口扫描及拓展
linux·端口扫描·网络攻击
旺仔.2911 小时前
Linux 信号详解
linux·运维·网络
放飞梦想C1 小时前
CPU Cache
linux·cache
Hoshino.412 小时前
基于Linux中的数据库操作——下载与安装(1)
linux·运维·数据库
Lxinccode2 小时前
docker(28) : 别名配置
docker·容器·eureka·docker别名
播播资源4 小时前
CentOS系统 + 宝塔面板 部署 OpenClaw源码开发版完整教程
linux·运维·centos
源远流长jerry4 小时前
在 Ubuntu 22.04 上配置 Soft-RoCE 并运行 RDMA 测试程序
linux·服务器·网络·tcp/ip·ubuntu·架构·ip
学不完的4 小时前
Docker数据卷管理及优化
运维·docker·容器·eureka
lay_liu4 小时前
Linux安装redis
linux·运维·redis