我的编程空间,编程开发者的网络收藏夹
学习永远不晚

【云原生】Docker 进阶 -- 阿里云服务器安装Docker Compose与初体验

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

【云原生】Docker 进阶 -- 阿里云服务器安装Docker Compose与初体验

📢📢📢📣📣📣

哈喽!大家好,我是【Bug 终结者,【CSDNJava领域优质创作者】🏆,阿里云受邀专家博主🏆,51CTO人气博主🏆 .

一位上进心十足,拥有极强学习力的【Java领域博主】😜😜😜

🏅【Bug 终结者】博客的领域是【面向后端技术】的学习,未来会持续更新更多的【后端技术】以及【学习心得】。 偶尔会分享些前端基础知识,会更新实战项目,面向企业级开发应用
🏅 如果有对【后端技术】、【前端领域】感兴趣的【小可爱】,欢迎关注【Bug 终结者】💞💞💞


❤️❤️❤️ 感谢各位大可爱小可爱! ❤️❤️❤️

在这里插入图片描述

文章目录

一、什么是Docker Compose?

docker-compose是基于docker的开源项目,托管于github上,由python实现,调用 docker服务的API负责实现对docker容器集群的快速编排,即通过一个单独的yaml文件,来定义一组相关的容器来为一个项目服务。

Docker Compose 是一个工具,命令行工具,这个工具可以通过yml文件定义多容器的docker应用,通过一条命令就可以根据yml文件的定义去创建或管理多个容器

二、Docker Compose 能用来做什么?

我们平时操作Docker,还是很原始的操作,手动操作Docker的步骤可分为

  • 找到一个系统镜像
  • 安装vm 或者一些基本的工具
  • 在vm中安装镜像
  • 执行镜像

docker-compose 是一个用来把 docker 自动化的东西

在我们的 Docker Compose 中,只需要写一个 docker-compose.yml 文件容器编排,然后通过命令去启动就可以达到自动化的操作。

三、阿里云服务器安装Docker Compose

Docker Compose 是Docker官方的开源产品,需要自行安装,DockerFile让程序在任何地方执行

下载

sudo curl -L "https://github.com/docker/compose/releases/download/1.29.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose# 这个可能快点curl -L https://get.daocloud.io/docker/compose/releases/download/1.29.1/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose

如果下载不下来,那么可以 去我上传的资源上去下载

下载下来之后,我们使用 Filezilla 去将我们下载下来的文件上传至服务器 /usr/local/bin 下

在这里插入图片描述

下载成功~

进行授权

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

进行测试

docker-compose version

在这里插入图片描述

测试通过,成功安装了我们的Docker Compose~

四、初体验Docker Compose

☁️安装

官方网址

这里在官方下载的话太慢了,而且官方使用的是 Flask框架,下载到本地后,可能会起不来,所以说,我们自己来写。

创建一个python+Redis的应用,计数器的功能

创建工程目录

mkdir compose_testcd compose_test# 源码文件夹mkdir class="lazy" data-src# 存放Docker执行文件mkdir docker 

在这里插入图片描述

创建app.py

在 compose_test/class="lazy" data-src 下创建 app.py 具体内容如下

from flask import Flaskfrom redis import Redis app = Flask(__name__)redis = Redis(host='redis', port=6379) @app.route('/')def hello():    count = redis.incr('hits')    return 'Hello World! I have been seen {} times.\n'.format(count) if __name__ == "__main__":    app.run(host="0.0.0.0", debug=True)

创建我们的 需求文件 requirements.txt

在 compose_test/class="lazy" data-src 下创建 requirements.txt 文件,具体内容如下

flaskredis

在这里插入图片描述

创建容器的Dockerfile文件

在 compose_test 下创建 Dockerfile文件,具体内容如下

FROM python:3.7COPY class="lazy" data-src/ /opt/class="lazy" data-srcWORKDIR /opt/class="lazy" data-srcRUN pip install -r requirements.txtCMD ["python", "app.py"]

Dockerfile介绍

从远程仓库拉取python镜像

复制class="lazy" data-src 目录到 /opt/class="lazy" data-src 目录

将容器的工作目录设置为 /opt/class="lazy" data-src 默认目录

安装 Python依赖的关系

将容器默认命令设置为 python app.py

定义 docker-compose 执行脚本

在 compose_test/docker 下新建 docker-compose.yml,具体内容如下

version: '3'services:  web:    build: ../    ports:     - "5000:5000"    volumes:     - ../class="lazy" data-src:/opt/class="lazy" data-src  redis:    image: redis:3.0.7

compose具体介绍

定义了两个服务,一个是web,一个是redis

web容器:

  • 使用了当前 docker-compose.yml 文件所在目录的上级中的Dockerfile构建镜像
  • 将容器端口暴露映射至5000端口
  • 将容器卷目录挂载到容器外部 /opt/class="lazy" data-src 目录,持久化到本地磁盘

redis容器:

  • redis 服务镜像地址为下载 3.0.7版本

在这里插入图片描述

⚡测试

通过命令测试

注意:该命令必须在 存在有docker-compose.yml 的目录下执行

# 直接执行docker-compose up # 后台方式执行docker-compose up -d

在这里插入图片描述

服务启动成功

docker ps

在这里插入图片描述

查看网络情况

# 查看所有的网络情况docker network ls#查看某一个网络的详细信息docker network inspect id

在这里插入图片描述

输入地址测试

# 服务器直接测试curl localhost:5000

在这里插入图片描述

测试成功~

关闭服务命令

docker-compose downctrl + c

五、Yaml规则

docker-compose.yml 是核心配置文件

他的规则如下

# 3层version: '' # 版本services: # 服务服务1: web# 服务配置imagesbuild# 可以通过 该命令指定我们的执行顺序,优先加载数据库depends_on:mysqlredisnetwork......服务2: redis.....服务3: mysql.....# 其他配置 网络/卷 全局规则volumes:networks:configs

⛵小结

以上就是【Bug 终结者】对 【云原生】Docker 进阶 – 阿里云服务器安装Docker Compose与初体验 的简单介绍,Docker Compose 工具,可以很好的解决我们的微服务部署问题,在小规模的微服务情况下,可采用我们的 Docker Compose!

如果这篇【文章】有帮助到你,希望可以给【Bug 终结者】点个赞👍,创作不易,如果有对【后端技术】、【前端领域】感兴趣的小可爱,也欢迎关注❤️❤️❤️ 【Bug 终结者】❤️❤️❤️,我将会给你带来巨大的【收获与惊喜】💝💝💝!

来源地址:https://blog.csdn.net/weixin_45526437/article/details/125513286

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

【云原生】Docker 进阶 -- 阿里云服务器安装Docker Compose与初体验

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

阿里云服务器安装Docker失败原因与解决方法

在使用阿里云服务器的过程中,可能会遇到各种问题,其中之一就是阿里云服务器安装Docker失败。本文将详细地介绍这个问题的原因以及解决方法,希望能够帮助到有需要的用户。一、问题原因分析硬件配置不足:阿里云服务器的性能和硬件配置直接影响到Docker的安装和使用。如果硬件配置不足,可能会导致Docker安装失败。操作
阿里云服务器安装Docker失败原因与解决方法
2023-12-18

编程热搜

目录