在阿里云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

使用感受

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

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

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

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


相关实践学习
快速体验PolarDB开源数据库
本实验环境已内置PostgreSQL数据库以及PolarDB开源数据库:PolarDB PostgreSQL版和PolarDB分布式版,支持一键拉起使用,方便各位开发者学习使用。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情:&nbsp;https://www.aliyun.com/product/ecs
目录
相关文章
|
4天前
|
关系型数据库 MySQL Linux
在Linux环境下备份Docker中的MySQL数据并传输到其他服务器以实现数据级别的容灾
以上就是在Linux环境下备份Docker中的MySQL数据并传输到其他服务器以实现数据级别的容灾的步骤。这个过程就像是一场接力赛,数据从MySQL数据库中接力棒一样传递到备份文件,再从备份文件传递到其他服务器,最后再传递回MySQL数据库。这样,即使在灾难发生时,我们也可以快速恢复数据,保证业务的正常运行。
62 28
|
9天前
|
Linux 虚拟化 Docker
win11怎么安装docker的必要设置自学软硬件工程师778天
win11怎么安装docker的必要设置自学软硬件工程师778天
win11怎么安装docker的必要设置自学软硬件工程师778天
|
9天前
|
Ubuntu 关系型数据库 MySQL
在Ubuntu系统的Docker上安装MySQL的方法
以上的步骤就是在Ubuntu系统的Docker上安装MySQL的详细方法,希望对你有所帮助!
70 12
|
21天前
|
Ubuntu 关系型数据库 MySQL
容器技术实践:在Ubuntu上使用Docker安装MySQL的步骤。
通过以上的操作,你已经步入了Docker和MySQL的世界,享受了容器技术给你带来的便利。这个旅程中你可能会遇到各种挑战,但是只要你沿着我们划定的路线行进,你就一定可以达到目的地。这就是Ubuntu、Docker和MySQL的灵魂所在,它们为你开辟了一条通往新探索的道路,带你亲身感受到了技术的力量。欢迎在Ubuntu的广阔大海中探索,用Docker技术引领你的航行,随时准备感受新技术带来的震撼和乐趣。
74 16
|
1月前
|
监控 关系型数据库 MySQL
zabbix7.0.9安装-以宝塔安装形式-非docker容器安装方法-系统采用AlmaLinux9系统-最佳匹配操作系统提供稳定运行环境-安装教程完整版本-优雅草卓伊凡
zabbix7.0.9安装-以宝塔安装形式-非docker容器安装方法-系统采用AlmaLinux9系统-最佳匹配操作系统提供稳定运行环境-安装教程完整版本-优雅草卓伊凡
127 30
|
1月前
|
数据安全/隐私保护 Docker 容器
docker pull 相关配置
通过本文的介绍,您已经了解了如何通过镜像源配置、登录私有仓库、设置网络代理以及其他优化策略来提升 `docker pull`命令的效率和可靠性。这些配置不仅能够显著加快镜像下载速度,还能确保在不同网络环境下的稳定性。通过合理使用这些配置,您可以更好地管理和优化Docker环境中的镜像拉取操作。
111 18
|
1月前
|
NoSQL Redis Docker
Docker——阿里云服务器利用docker搭建redis集群
本文详细记录了使用Docker搭建Redis集群的过程,包括检查Docker和Docker Compose的安装、创建Redis配置文件、编写`docker-compose.yml`文件、启动Redis节点、创建Redis集群的具体步骤,以及最终的验证方法。文章还提供了在多服务器环境下搭建Redis集群的注意事项,帮助读者全面了解 Redis 集群的部署流程。
144 12
|
1月前
|
Docker Python 容器
Docker——阿里云服务器使用Docker部署python项目全程小记
本文记录了我在阿里云服务器上使用Docker部署python项目(flask为例)的全过程,在这里记录和分享一下,希望可以给大家提供一些参考。
147 0
|
1月前
|
Ubuntu Linux Docker
Docker 入门全攻略:安装、操作与常用命令指南
Docker 的世界非常广阔,这只是一个开始,请继续探索和学习 Docker 的高级特性和最佳实践。后续也会继续更新相关的理论与实践内容。 只有锻炼思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
|
Docker 容器
《第一本Docker书(修订版)》——1.4 Docker与配置管理
从Docker项目公布以来,已经有大量关于“哪些配置管理工具适用于Docker”的讨论,如Puppet、Chef。Docker包含一套镜像构建和镜像管理的解决方案。现代配置管理工具的原动力之一就是“黄金镜像”模型[8]。
1616 0