docker compose 容器编排

简介: docker compose 容器编排

Docker compose 编排

docker compose的安装

如果你之前的harbor能够顺利搭建起来的话,那么这一步你是不用做的

docker compose 文件格式

docker compose 使用的是yaml格式,yaml格式使用缩进来控制层级,这个可以自行查询一下yaml语法

需要注意的是,不能使用Tab键(目前最新版的vim在你编写yaml文件时会将你的Tab转换成空格,但是不太建议使用tab,不然排错很难),大小写敏感

看一个yaml文件的示例

services:
blog:
image: wordpress
links:
- db:db
ports:
- "80:80"
environment:
- WORDPRESS_DB_HOST=db
- WORDPRESS_DB_USER=root
- "WORDPRESS_DB_PASSWORD=123"
- WORDPRESS_DB_NAME=wordpress
db:
image: mysql
environment:
- "MYSQL_ROOT_PASSWORD=123"
- MYSQL_DATABASE=wordpress

在这里面,ports下面的80:80是用引号引起来的,因为他识别的是字符串,如果不用引号,那么80他就无法识别,会报错

包括下面environment里面有些是没有用引号,而有些是用了引号的,引起来的是因为参数是数字,无法识别,所以我们需要将他用引号引起来变成字符串

docker compose 的使用

上面哪个yaml文件是编排wordpress的,可以直接复制下来,我这里的文件名叫做wordpress.yml,那么我们有了这个文件该如何去启动容器呢

# 我们可以使用docker compose 去启动 -f 是指定文件 up 是启动的意思 -d 是放在后台
# 切记 不管是up down 还是其他参数,-f都得写在他们的前面
# docker compose up -d -f wordpress.yml 这样去执行的话是会报错的
[root@docker compose]# docker compose -f wordpress.yml up -d
[+] Running 3/3
 ✔ Network compose_default   Created                                                          0.1s 
 ✔ Container compose-db-1    Started                                                          0.0s 
 ✔ Container compose-blog-1  Started                                                          0.0s

这个是创建,需要删除这些容器的话使用 down

[root@docker compose]# docker compose -f wordpress.yml down
[+] Running 3/3
 ✔ Container compose-blog-1  Removed                                                          1.2s 
 ✔ Container compose-db-1    Removed                                                          1.1s 
 ✔ Network compose_default   Removed

这样他就会停止并删除容器了,当然还有其他的命令,比如start,stop,restart

docker compose 编排nginx,并持久化存储

services:
web01:
image: nginx
ports:
- "80:80"
volumes:
- "/html:/usr/share/nginx/html"

这个里面就是使用了volumes参数

[root@docker compose]# docker compose -f nginx.yml up -d 
[+] Running 2/2
 ✔ Network compose_default    Created                                                         0.1s 
 ✔ Container compose-web01-1  Started 
[root@docker compose]# curl localhost
hello

本文来自博客园,作者:FuShudi,转载请注明原文链接:https://www.cnblogs.com/fsdstudy/p/17949606

分类: CKA

目录
相关文章
|
4天前
|
存储 Kubernetes 持续交付
Docker Compose
【10月更文挑战第3天】
23 6
|
3天前
|
网络协议 网络安全 Docker
docker容器间无法通信
【10月更文挑战第4天】
10 3
|
4天前
|
Kubernetes Cloud Native Docker
云原生入门:Kubernetes和Docker的协同之旅
【10月更文挑战第4天】在这篇文章中,我们将通过一次虚拟的旅行来探索云原生技术的核心——Kubernetes和Docker。就像乘坐一艘由Docker驱动的小船启航,随着波浪(代码示例)起伏,最终抵达由Kubernetes指挥的宏伟舰队。这不仅是一段技术上的旅程,也是理解现代云架构如何支撑数字世界的冒险。让我们扬帆起航,一探究竟!
|
1天前
|
Docker 容器
docker中检查容器的网络模式
【10月更文挑战第5天】
4 1
|
3天前
|
网络协议 Shell 网络安全
docker容器网络问题
【10月更文挑战第4天】
11 2
|
5天前
|
消息中间件 NoSQL Kafka
Flink-10 Flink Java 3分钟上手 Docker容器化部署 JobManager TaskManager Kafka Redis Dockerfile docker-compose
Flink-10 Flink Java 3分钟上手 Docker容器化部署 JobManager TaskManager Kafka Redis Dockerfile docker-compose
20 4
|
3天前
|
存储 持续交付 开发者
掌握Docker容器化:提升开发效率与应用部署
【10月更文挑战第4天】在现代软件开发中,Docker容器化技术因其轻量级、可移植和快速部署的特点,成为提升开发效率和简化部署流程的关键工具。本文介绍了Docker的基本概念、核心组件及其优势,并探讨了如何在开发环境中搭建、微服务架构及CI/CD流程中有效利用Docker,助力软件开发更加高效便捷。
|
4天前
|
监控 Kubernetes 测试技术
掌握Docker网络模式:构建高效容器通信
【10月更文挑战第3天】本文深入探讨了Docker的网络模式,包括它们的工作原理、使用场景以及如何配置和优化容器间的通信。希望能够帮助开发者在项目中有效地应用Docker网络模式,构建高效的容器化应用。
|
1天前
|
运维 监控 Cloud Native
深入了解容器化技术:Docker 的应用与实践
【10月更文挑战第6天】深入了解容器化技术:Docker 的应用与实践
8 0
|
1天前
|
云计算 开发者 Docker
揭秘云计算中的容器化技术——Docker的深度解析
【10月更文挑战第6天】揭秘云计算中的容器化技术——Docker的深度解析