在阿里云ECS云服务器上安装、配置及高效使用Docker与Docker Compose

简介: 本文介绍了在阿里云ECS上使用Ubuntu系统安装和配置Docker及Docker Compose的详细步骤。通过这些工具,可以快速部署、弹性扩展和高效管理容器化应用,满足开发和运维需求。内容涵盖Docker的安装、镜像源配置、创建Web程序镜像以及使用Docker Compose部署WordPress等实际操作,并分享了使用体验,展示了阿里云实例的高性能和稳定性。

@TOC


引言

在云服务器ECS上使用Ubuntu系统安装Docker及Docker Compose,是提升开发效率、简化部署流程的重要步骤,下面是在阿里云ECS云服务器上安装、配置及高效使用Docker与Docker Compose的文章以及体验感受分享。

需求介绍

Docker及其生态工具Docker Compose成为了构建、运行和管理容器化应用的首选。在云服务器ECS上,通过Ubuntu系统安装Docker及Docker Compose,可以满足快速部署、弹性扩展和高效管理的需求,为开发者和运维人员提供便捷的开发和运维环境。

使用步骤

安装Docker

  • 执行以下命令安装Docker社区版本
#更新包管理工具
sudo apt-get update

image.png

#添加Docker软件包源
sudo apt-get -y install apt-transport-https ca-certificates curl software-properties-common

image.png

sudo curl -fsSL http://mirrors.cloud.aliyuncs.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository -y "deb [arch=$(dpkg --print-architecture)] http://mirrors.cloud.aliyuncs.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
#安装Docker社区版本,容器运行时containerd.io,以及Docker构建和Compose插件
sudo apt-get -y install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

image.png

#启动Docker
sudo systemctl start docker
#设置Docker守护进程在系统启动时自动启动
sudo systemctl enable docker

image.png

  • 通过查看Docker版本命令,验证Docker是否安装成功。
    sudo docker -v
    

配置镜像源

当Docker Hub镜像拉取受网络影响时,可配置Docker镜像源提升速度。但请注意,镜像源配置不适用于docker search命令,因为它直接查询Docker Hub。

需要编辑Docker的配置文件/etc/docker/daemon.json,如果该文件不存在,您需要创建它。

{
   
    "registry-mirrors": ["<加速器地址>"]
}

完成编辑后,保存文件并退出。然后,为了使新的配置生效,您需要重启Docker服务。这可以通过执行以下命令来完成。

sudo systemctl restart docker
  • 创建简单Web程序镜像
    以下是创建基于Nginx镜像的简单Web程序镜像。

构建Web程序镜像。

#拉取Nginx镜像
sudo docker pull nginx:latest

image.png

#创建Dockerfile设置Nginx作为基础镜像,并在Web服务器的根目录创建一个显示Hello World!的index.html文件。
sudo tee Dockerfile <<-'EOF'
FROM nginx:latest
RUN echo 'Hello World!' > /usr/share/nginx/html/index.html
EOF
#构建镜像,镜像名称为hello-world
sudo docker build . -t hello-world:latest

启动Web程序镜像的容器,并且命名容器名称为jupiter。

sudo docker run -d -p 80:80 --name jupiter jupiter:latest

执行curl http://localhost命令,验证Web程序是否正确显示jupiter。

安装Docker Compose

  • 如果参考的本文安装Docker,那么Compose插件将默认安装到您的实例中。您可以通过如下命令查看。
sudo docker compose version

如果Compose插件未成功安装或您需要使用Compose独立版(docker-compose)可参考下面内容。

使用Docker Compose部署应用

以下是创建基于WordPress镜像的Web程序。

  • 创建Compose编排文件并启动WordPress服务。
#创建编排文件,添加Mysql与WordPress
sudo tee docker-compose.yaml <<-'EOF'
version: '3.1'

services:
  wordpress:
    image: wordpress
    restart: always
    ports:
      - "80:80"
    environment:
      #数据库地址
      WORDPRESS_DB_HOST: db
      #数据库用户名
      WORDPRESS_DB_USER: wordpress
      #数据库密码
      WORDPRESS_DB_PASSWORD: 123456
      #数据库名称
      WORDPRESS_DB_NAME: wordpress
    volumes:
      - wordpress:/var/www/html

  db:
    image: mysql:5.7
    restart: always
    ports:
      - "3306:3306"
    environment:
      #数据库名称
      MYSQL_DATABASE: wordpress
      #数据库用户名
      MYSQL_USER: wordpress
      #数据库密码
      MYSQL_PASSWORD: 123456
      #数据库ROOT用户密码
      MYSQL_RANDOM_ROOT_PASSWORD: '1'
    volumes:
      - db:/var/lib/mysql

volumes:
  wordpress:
  db:
EOF
#启动服务容器。
sudo env "PATH=$PATH" docker compose up -d

使用感受

阿里云提供的实例配置灵活多样,能够满足不同规模和复杂度的应用需求。在性能表现上,无论是计算速度还是网络延迟,都展现出了卓越的能力,确保了业务的流畅运行。

操作界面友好直观,让我能够快速上手并进行实例的管理和配置。同时,阿里云提供的安全防护措施也给了我极大的信心,确保数据的安全性和业务的稳定性。

在使用过程中,我还深刻感受到了阿里云服务的可靠性和稳定性。即使在面对高并发访问或突发流量时,实例也能保持稳定的性能,没有出现明显的卡顿或崩溃现象。

总的来说,阿里云实例为我提供了一个强大、灵活且可靠的云计算环境,极大地提升了业务处理能力和运营效率。


相关实践学习
通义万相文本绘图与人像美化
本解决方案展示了如何利用自研的通义万相AIGC技术在Web服务中实现先进的图像生成。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情:&nbsp;https://www.aliyun.com/product/ecs
目录
相关文章
|
2月前
|
关系型数据库 应用服务中间件 nginx
Docker一键安装中间件(RocketMq、Nginx、MySql、Minio、Jenkins、Redis)
本系列脚本提供RocketMQ、Nginx、MySQL、MinIO、Jenkins和Redis的Docker一键安装与配置方案,适用于快速部署微服务基础环境。
|
7天前
|
关系型数据库 数据库 PostgreSQL
docker 安装 Postgres 17.6
本文介绍如何通过Docker安装和配置PostgreSQL 17.6。内容包括拉取镜像、导出配置文件、运行容器并挂载数据与配置文件目录,以及进入容器使用psql操作数据库的完整步骤,便于持久化管理和自定义配置。
64 3
docker 安装 Postgres 17.6
|
2月前
|
存储 测试技术 数据安全/隐私保护
【Docker项目实战】使用Docker部署dufs文件服务器
【Docker项目实战】使用Docker部署dufs文件服务器
475 17
【Docker项目实战】使用Docker部署dufs文件服务器
|
2月前
|
弹性计算 关系型数据库 Nacos
低配阿里云 ECS 如何 docker 环境部署 NACOS : 单机版模式
NACOS 单机版 Docker 安装指南。使用指定端口和 custom.env 配置文件启动 Nacos 服务,适用于 2.X 版本,包含 gRPC 支持及 MySQL 数据源配置。 -e MODE=standalone \
281 5
|
2月前
|
Linux Docker Windows
windows docker安装报错适用于 Linux 的 Windows 子系统必须更新到最新版本才能继续。可通过运行 “wsl.exe --update” 进行更新。
适用于 Linux 的 Windows 子系统需更新至最新版本(如 wsl.2.4.11.0.x64.msi)以解决 2025 年 Windows 更新后可能出现的兼容性问题。用户可通过运行 “wsl.exe --update” 或访问提供的链接下载升级包进行更新。
815 0
|
弹性计算 网络协议 Linux
第二章:阿里云ECS服务器(G5)安装配置docker
第二章:阿里云ECS服务器(G5)安装配置docker
409 0
|
弹性计算 NoSQL 网络协议
阿里云ECS使用docker部署redis并远程连接
本文主要介绍如何在阿里云ECS服务器上通过docker部署redis,并在springboot项目中添加redis依赖进行远程连接。
阿里云ECS使用docker部署redis并远程连接
|
弹性计算 关系型数据库 MySQL
阿里云ECS使用docker搭建mysql服务
阿里云ECS使用docker搭建mysql服务
638 1