Compose 是用于定义和运行多容器 Docker 应用程序的工具。通过 Compose,您可以使用 YML 文件来配置应用程序需要的所有服务。然后,使用一个命令,就可以从 YML 文件配置中创建并启动所有服务。
Compose 使用的三个步骤:
使用 Dockerfile 定义应用程序的环境。使用 docker-compose.yml 定义构成应用程序的服务,这样它们可以在隔离环境中一起运行。最后,执行 docker-compose up 命令来启动并运行整个应用程序。Docker Compose 官网:https://docs.docker.com/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参考我的项目写的
#指定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只是类似于一种脚本帮我们把命令归到一起
docker-compose stop
查看日志:docker-compose logs -f
参见官网:https://docs.docker.com/compose/reference/overview/