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

目录
相关文章
|
6天前
|
Kubernetes Java Docker
利用(K8S)配合Docker部署jar包
通过Docker打包并部署到Kubernetes(K8S)集群的过程。首先,通过SpringBoot生成jar包,接着在K8S环境中创建并编辑Dockerfile文件。随后构建Docker镜像,并将其推送到镜像仓库。最后,通过一系列kubectl命令(如get pods、get svc、logs等),展示了如何在K8S中管理应用,包括查看Pod状态、服务信息、Pod日志以及重启Pod等操作。
37 2
|
4天前
|
Ubuntu Linux pouch
Docker容器管理工具
文章介绍了Docker容器管理工具,以及早期使用的LXC容器管理工具,包括它们的安装、使用和相关技术特点。
27 10
Docker容器管理工具
|
4天前
|
监控 数据管理 pouch
Docker容器技术概览
关于Docker容器技术的概览,包括Docker的优势、劣势、核心技术、容器所依赖的技术,以及Docker容器的管理和编排工具。
29 7
Docker容器技术概览
|
4天前
|
NoSQL 关系型数据库 Redis
mall在linux环境下的部署(基于Docker容器),Docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongo
mall在linux环境下的部署(基于Docker容器),docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongodb、minio详细教程,拉取镜像、运行容器
mall在linux环境下的部署(基于Docker容器),Docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongo
|
4天前
|
NoSQL 应用服务中间件 Redis
Docker跨宿主机容器通信-通过网络跨宿主机互联
这篇文章介绍了Docker容器跨宿主机通信的实现方法,包括Docker的四种网络模式(host、none、container、bridge)以及如何通过修改网络配置和添加路由规则来实现不同宿主机上的容器之间的互联。
12 0
Docker跨宿主机容器通信-通过网络跨宿主机互联
|
4天前
|
应用服务中间件 nginx Docker
Docker同一台宿主机容器通信-通过容器名称互联
本文详细介绍了如何通过容器名称实现同一宿主机上容器间的互联,并提供了实战案例。首先,文章解释了容器间通过自定义名称访问的原理,随后演示了创建并连接Tomcat与Nginx容器的具体步骤。此外,还讨论了配置中可能出现的问题及解决方案,包括避免硬编码IP地址和使用自定义容器别名来增强系统的灵活性与可维护性。通过这些实践,展示了如何高效地配置容器间通信,确保服务稳定可靠。
12 1
Docker同一台宿主机容器通信-通过容器名称互联
|
4天前
|
应用服务中间件 Shell nginx
Docker容器操作基础命令
关于Docker容器操作基础命令的教程,涵盖了从启动、查看、删除容器到端口映射和容器信息获取的一系列常用命令及其使用方法。
40 14
|
2天前
|
运维 安全 开发者
Docker容器技术
Docker容器技术
13 6
|
2天前
|
Cloud Native 持续交付 Docker
云原生技术实践:Docker容器化部署教程
【9月更文挑战第4天】本文将引导你了解如何利用Docker这一云原生技术的核心工具,实现应用的容器化部署。文章不仅提供了详细的步骤和代码示例,还深入探讨了云原生技术背后的哲学,帮助你理解为何容器化在现代软件开发中变得如此重要,并指导你如何在实际操作中运用这些知识。
|
2天前
|
负载均衡 大数据 测试技术
docker容器技术有哪些应用场景?
docker容器技术有哪些应用场景?
17 5
下一篇
DDNS