日拱一卒无有尽,功不唐捐终入海

在AWS和阿里云Linux上安装Docker和Docker Compose

什么是Docker

Docker 是一个开源的应用容器引擎,它允许开发者打包他们的应用以及应用的依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。

Docker 的主要特点包括:

  1. 轻量级:Docker 容器与其他虚拟化技术相比,不需要额外的hypervisor支持,直接运行在宿主机上,因此启动速度快,资源利用率高。
  2. 可移植性:Docker 容器可以将应用及其依赖打包在一起,这意味着应用可以在任何支持Docker的机器上运行,无论是物理机、虚拟机还是云服务器。
  3. 隔离性:每个容器都是相互隔离的,运行在容器中的应用不会影响宿主机和其他容器。
  4. 快速部署:Docker 容器可以在几秒内启动,这使得它非常适合快速部署应用和服务。
  5. 版本控制:Docker 支持版本控制,开发者可以使用Dockerfile来定义容器的构建过程,并通过Docker镜像来管理不同的版本。
  6. 易于维护:Docker 提供了一套命令行工具来管理容器的生命周期,包括创建、运行、停止和删除容器。
  7. 生态系统:Docker 拥有一个庞大的生态系统,包括Docker Hub(一个公共的镜像仓库),以及大量的第三方工具和服务。

什么是Docker Compose

Docker Compose 是 Docker 官方提供的一个工具,用于定义和运行多容器 Docker 应用程序。通过 Docker Compose,可以使用一个 YAML 文件来配置你的应用服务,然后使用一个简单的命令来创建和启动所有服务。

Docker Compose简化了Docker容器的启动与停止。

Docker Compose 的主要特点包括:

  1. 服务定义:你可以在一个 docker-compose.yml 文件中定义多个服务,每个服务代表一个应用组件,例如 web 服务器、数据库、缓存等。
  2. 一键部署:使用 docker-compose up 命令,可以一次性启动所有服务,而使用 docker-compose down 可以停止并移除所有服务。
  3. 环境一致性:Docker Compose 帮助你确保开发环境、测试环境和生产环境之间的一致性,因为它定义了应用的运行环境。
  4. 依赖管理:你可以在 docker-compose.yml 文件中指定服务之间的依赖关系,Docker Compose 会根据这些依赖关系来启动服务。
  5. 网络管理:Docker Compose 提供了网络管理功能,允许你定义服务之间的网络连接,使得服务之间可以通过容器名进行通信。
  6. 卷管理:你可以定义卷来持久化和共享数据,这些卷可以跨多个容器和宿主机共享。
  7. 扩展性:Docker Compose 支持使用环境变量和扩展语法来扩展配置,使得你可以根据不同的环境或需求来调整配置。
  8. 命令行工具:Docker Compose 提供了一系列命令行工具,用于管理你的应用的生命周期,如启动、停止、重建、缩放等。

Docker 安装步骤

  1. Amazon Linux 2023

1.1 更新你的实例上已安装的软件包和软件包缓存。

sudo yum update -y

1.2 安装最新的 Docker 社区版软件包。

sudo yum install -y docker

1.3 启动Docker服务。

sudo systemctl start docker

1.4 将 ec2-user 添加到 docker 组,这样你就可以在不使用 sudo 的情况下运行 Docker 命令。

sudo usermod -a -G docker ec2-user

1.5 重新登录以获取新的 docker 组权限。为此,请关闭当前的 SSH 终端窗口,并在新的终端窗口中重新连接到你的实例。你的新 SSH 会话应该具有适当的 docker 组权限。

1.6 验证 ec2-user 是否可以在不使用 sudo 的情况下运行 Docker 命令。

$ docker ps

你应该看到以下输出,确认 Docker 已安装并正在运行:

2. Alibaba Cloud Linux3

2.1 运行以下命令,添加docker-ce的dnf源。

sudo dnf config-manager --add-repo=https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

2.2 运行以下命令,安装Alibaba Cloud Linux 3专用的dnf源兼容插件。

sudo dnf -y install dnf-plugin-releasever-adapter --repo alinux3-plus

2.3 运行以下命令,安装Docker。

sudo dnf -y install docker-ce --nobest
  • 如果执行命令时,出现类似如下的报错信息,您需要执行sudo dnf clean packages清除软件包缓存后,重新安装docker-ce。
(8-9/12): docker-ce-24.0.7-1.el8.x86_64.rpm 38% [================- ] 8.2 MB/s | 38 MB 00:07 ETA
The downloaded packages were saved in cache until the next successful transaction.
You can remove cached packages by executing 'dnf clean packages'.
Error: Error downloading packages:
containerd.io-1.6.26-3.1.el8.x86_64: Cannot download, all mirrors were already tried without success
  • 如果执行命令时,出现类似下图的报错信息,您需要注释/etc/yum.repos.d下的CentOS源,注释后重新安装docker-ce。

2.4 执行以下命令,检查Docker是否安装成功。

docker -v

如下图回显信息所示,表示Docker已安装成功。

2.5 执行以下命令,启动Docker服务,并设置开机自启动。

sudo systemctl status docker

如下图回显所示,表示Docker已启动。

Docker Compose安装步骤

在服务器运行命令:

sudo curl -L https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose

下载后赋予可执行权限

sudo chmod +x /usr/local/bin/docker-compose

验证是否成功:

docker-compose version

如下图显示,则表示安装成功


评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注