Docker compose编排容器实战

it2023-09-12  71

利用docker compose编排springboot+mysql+redis

19 Docker compose

Compose 是用于定义和运行多容器 Docker 应用程序的工具。通过 Compose,您可以使用 YML 文件来配置应用程序需要的所有服务。然后,使用一个命令,就可以从 YML 文件配置中创建并启动所有服务。

Compose 使用的三个步骤:

使用 Dockerfile 定义应用程序的环境。使用 docker-compose.yml 定义构成应用程序的服务,这样它们可以在隔离环境中一起运行。最后,执行 docker-compose up 命令来启动并运行整个应用程序。

Docker Compose 官网:https://docs.docker.com/compose/

19.1 docker compose 安装

参照官网:https://docs.docker.com/compose/install/

# 下载安装 curl -L "https://github.com/docker/compose/releases/download/1.26.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose # 授权 chmod +x /usr/local/bin/docker-compose 检查是否安装成功,输入docker-compose

19.2 docker-compose.yml

参考我的项目写的

#指定docker-compose 文件版本 ##指定 docker-compose.yml 文件的写法格式 version: '3' services: # 指定服务名称 webapp: # 指定容器名称 container_name: springboot_redis_mysql_composebuild2 restart: always build: ./ #working_dir: /usr/local/ # #volumes: # # - /usr/local/springboot2/:/usr/local/springboot2/ # # 指定服务运行的端口 ports: - "80:9999" depends_on: - redis8 - mysql8 links: - redis8:redisdb - mysql8:mysqldb # 指定redis服务名称 redis8: # 指定容器名称 container_name: redis-test-composebuild # 指定服务使用的镜像 image: redis restart: always ports: - "6379:6379" command: redis-server --appendonly yes --requirepass "123456" --protected-mode no mysql8: container_name: mysql-test-composebuild3 image: mysql restart: always ports: - "3306:3306" environment: MYSQL_ROOT_PASSWORD: 123456

疑点: 我还没有指定哪个jar包啊,他怎么运行的?????

在上面这个yml文件中的webapp的build选项就是我们之前build的选项,也就是我们还需要之前的Dockerfile文件。 docker-compose只是类似于一种脚本帮我们把命令归到一起

19.3 启动服务

docker-compose up

19.4 停止服务

docker-compose stop

19.5 停止并删除服务(慎用)

docker-compose down

查看日志:docker-compose logs -f

19.6 常用命令

参见官网:https://docs.docker.com/compose/reference/overview/

最新回复(0)