Docker Compose编排(写法格式及实验)

本文介绍了Docker Compose,它的前身是Fig,是用于定义和运行多容器Docker应用的工具。阐述了其文件结构、配置常用字段和常用命令。还详细说明了使用compose编排安装运行及创建tomcat容器的步骤,包括环境部署、编写yml文件等。

一、Docker Compose前言

  • Docker Compose的前身是Fig,Fig被Docker收购之后正式更名为Compose,Compose向下兼容Fig
  • Docker Compose是一个用于定义和运行多容器Docker应用的工具,只需要一个Compose的配置文件和一个简单的命令就可以创建并运行应用所需的所有容器,而不再需要使用shell脚本来启动容器
  • Docker Compose 非常适合组合使用多个容器进行开发的场景

二、Docker compose 的文件结构

YAML是一种标记语言很直观的数据序列化格式。

  • 文件格式及编写注意事项如下所示:
  • 不支持制表符Tab建缩进,需要使用空格缩进
  • 通常开头缩进2个空格
  • 字符后缩进1个空格,如:冒号,逗号,横杆。
  • 用#号注释
  • 如果包含特殊字符用单引号引起来。
  • 布尔值必须用单引号括起来

1、docker compose配置常用字段

字段描述
build docker context指定Dockerfile文件名构建镜像上下文路径
image指定镜像
command执行命令,覆盖默认命令
container name指定容器名称,由于容器名称是唯一的,如果指定自定义名称,则无法scale
environment添加环境变量
networks加入网络
ports暴露容器端口,与-p相同,但不能低于60
volumes挂载宿主机路径或命令卷
restart重启策略,默认no,always,no-failure,unless-stoped
hostname容器主机名

2、docker compose常用命令

字段描述
build重新构建服务
ps列出容器
up创建和启动容器
exec在容器里面执行命令
scale指定一个服务容器启动数量
top显示容器进程
logs查看容器输出
down删除容器、网络、数据卷和镜像
stop/start/restart停止/启动/重启服务

三、使用compose编排

1、使用compose编排 安装运行tomcat容器

环境部署所有主机安装docker环境(内容为docker基础)

yum install docker-ce -y

在这里插入图片描述

将compose包直接拖入

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

在这里插入图片描述
在这里插入图片描述

2、使用compose编排创建容器(以tomcat为例)

编写yml文件

vim tomcat-compose.yml

version: '3'
services:
 tomcat:
  hostname: tomcat
  build :
   context: ./tomcat
   dockerfile: Dockerfile
  ports:
   - 6677:8080
  networks:
   - cluster
networks:
 cluster:

在这里插入图片描述

放入相关文件
在这里插入图片描述
在这里插入图片描述

编写的Dockerfile

在这里插入图片描述

执行yml文件创建容器

docker-compose -f docker-compose.yml up -d

在这里插入图片描述
在这里插入图片描述
直接访问网页
在这里插入图片描述

Docker Compose 是一个用于定义和运行多容器 Docker 应用程序的工具。通过使用 Docker Compose,您可以使用 YAML 文件来配置应用程序的服务、网络和卷等方面,然后使用单个命令将所有这些服务启动和停止。 要编写一个使用 Docker Compose 的 CentOS 项目,您需要遵循以下步骤: 1. 安装 DockerDocker Compose 确保您的 CentOS 系统上已经安装了 DockerDocker Compose。如果没有,请参考以下命令进行安装: 安装 Docker: ```bash sudo yum install -y yum-utils device-mapper-persistent-data lvm2 sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo sudo yum install docker-ce docker-ce-cli containerd.io sudo systemctl start docker sudo systemctl enable docker ``` 安装 Docker Compose: ```bash sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose sudo chmod +x /usr/local/bin/docker-compose ``` 2. 创建项目目录和文件 创建一个包含项目配置文件的目录,例如 `my_centos_project`,并在其中创建以下文件: - `docker-compose.yml`:用于定义应用程序的服务、网络和卷等方面的配置。 - `requirements.txt`:列出项目的依赖项。 - `app_service.py`:包含应用程序的主要逻辑。 3. 编写 `docker-compose.yml` 文件 在 `docker-compose.yml` 文件中,定义您的应用程序的服务、网络和卷等方面。例如: ```yaml version: '3' services: app: build: . ports: - "5000:5000" volumes: - .:/app depends_on: - db db: image: postgres environment: POSTGRES_USER: myuser POSTGRES_PASSWORD: mypassword ``` 4. 编写 `requirements.txt` 文件 在 `requirements.txt` 文件中,列出项目的依赖项。例如: ``` Flask==1.1.2 psycopg2-binary==2.8.6 ``` 5. 编写 `app_service.py` 文件 在 `app_service.py` 文件中,实现您的应用程序的主要逻辑。例如: ```python from flask import Flask import os app = Flask(__name__) @app.route('/') def hello(): return f"Hello from {os.environ['HOST']}!" if __name__ == '__main__': app.run(host='0.0.0.0', port=5000, debug=True) ``` 6. 使用 Docker Compose 启动应用程序 在项目目录中,运行以下命令启动应用程序: ```bash docker-compose up -d ``` 现在,您的 CentOS 项目应该已经在 Docker Compose 中运行了。您可以通过访问 `http://localhost:5000` 来查看应用程序。
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值