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
posted @   FuShudi  阅读(32)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 我干了两个月的大项目,开源了!
· 推荐一款非常好用的在线 SSH 管理工具
· 千万级的大表,如何做性能调优?
· 聊一聊 操作系统蓝屏 c0000102 的故障分析
· .NET周刊【1月第1期 2025-01-05】
点击右上角即可分享
微信分享提示