| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 系统运维 -> 【Docker 系列】docker 学习九,Compose 内容编排官网初步体验 -> 正文阅读 |
|
[系统运维]【Docker 系列】docker 学习九,Compose 内容编排官网初步体验 |
我们前面的文章学习了 docker ,为什么还要 Compose 呢?Compose到底是个啥玩意? Docker Compose 可以来轻松的高效的管理容器,定义运行多个容器 咱们一起来看看官方的介绍 docs Compose 是什么Compose is a tool for defining and running multi-container Docker applications. With Compose, you use a YAML file to configure your application’s services. Then, with a single command, you create and start all the services from your configuration. To learn more about all the features of Compose, see the list of features. 讲了三个点:
Compose works in all environments: production, staging, development, testing, as well as CI workflows. You can learn more about each case in Common Use Cases. Docker Compose 可以运行在所有的环境中 Using Compose is basically a three-step process: 1、Define your app’s environment with a 2、Define the 3、Run 三个步骤:
总结上述官方说明: Docker Compose 用于批量容器编排 如果一个项目中的多个微服务(几十个或者几百个),我们都一个一个的使用 Compose 在 Docker 中默认就有吗?Docker 中默认是没有 Compose 的,Compose 是 Docker 官方的开源项目,我们使用 Compose ,是需要自己另外安装的 Compose 的 yml 文件如何编写?一起来看看官方文档的 yml 是怎样的结构: A
指定服务
指定挂载卷 通过官方文档的上述说明,我们可以知道 Compose 有这么 2 个重要的概念:
Compose 安装1、咱们选择在 linux 下面安装 Docker Compose ,运行如下指令进行安装
安装成功后在我们的 linux 目录 2、 给程序 docker-compose 加上可执行的权限
3、安装成功,查看 docker-compose 的版本,看到如下信息即为成功
Compose 官方案例体验咱们安装好了 docker-compose ,我们一起来体验一下官方的 例子,先会使用,再来研究 准备环境和代码1、创建 compose 测试目录,自己可以在任意目录下执行如下指令
2、编写 app.py 文件 app.py
该 py 文件的功能就是,注册了一个路由为 3、创建一个文件 requirements.txt,用于之后的安装 requirements.txt
创建 DockerFile 文件写 Dockerfile 文件 Dockerfile
Dockerfile 文件中的含义是:
定义 Compose 文件(yml文件)docker-compose.yml
这个 compose 文件定义了 2 个服务
构建和运行我们的 Compose运行指令前,我们来查看一下我们的 compose 测试目录都有些啥了: 开始构建
可以看到执行指令
看到这里,我们发现 Compose 会自动帮我们创建 redis 容器和 web 容器
最后,我们看到 Compose 帮我们将 redis 和 web 启动起来了,程序正常运行, 咱们在宿主机使用 curl 命令,来请求一下这个 web 服务
果然 ok,官方的 compose 体验 no problem ,nice 查看一下镜像 查看一下网络
compose 构建的时候,一开始就会为我们创建一个网络 疑问?细心的朋友发现了,我们的容器名字为什么是 composetest_web_1 , 和 composetest_redis_1 这个是 Docker Compose 里面的一种规则,便于标识对应的副本 例如,compose 里面对于容器会是这样的命名:
多个服务器集群的时候,这个 num 的作用就体现出来的,num 标识第几个副本 网络规则多个容器只要是在一个局域网内,就可以互相 ping 通,相互通信,通过域名访问 例如 mysql 集群里面的服务,我们就可以访问 mysql:3306 , compose 就会给我们访问到 mysql:3306 这个服务 我们可以查看上面的 docker compose 给我们新建的自定义网络
发现上面的例子, web 服务和 redis 服务,是在同一个网络下的,所有可以相互通信 停止 compose咱们可以使用 ctrl + c 停止 compose 也可以通过 停止 compose ,那么 compose 里面涉及的服务,全部都会停止掉
小结
参考资料: 欢迎点赞,关注,收藏朋友们,你的支持和鼓励,是我坚持分享,提高质量的动力 好了,本次就到这里 技术是开放的,我们的心态,更应是开放的。拥抱变化,向阳而生,努力向前行。 我是小魔童哪吒,欢迎点赞关注收藏,下次见~ |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/16 2:43:25- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |