内容简介:Docker Compose是一个用于定义和运行多个docker容器应用的工具。使用Compose你可以用YAML文件来配置你的应用服务,然后使用一个命令,你就可以部署你配置的所有服务了。指定运行的镜像名称配置容器名称
Docker Compose是一个用于定义和运行多个 docker 容器应用的工具。使用Compose你可以用YAML文件来配置你的应用服务,然后使用一个命令,你就可以部署你配置的所有服务了。
安装
下载Docker Compose:
curl -L https://get.daocloud.io/docker/compose/releases/download/1.24.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose 复制代码
修改该文件的权限为可执行:
chmod +x /usr/local/bin/docker-compose 复制代码
查看是否已经安装成功:
docker-compose --version 复制代码
使用Docker Compose的步骤
- 使用Dockerfile定义应用程序环境,一般需要修改初始镜像行为时才需要使用;
- 使用docker-compose.yml定义需要部署的应用程序服务,以便执行脚本一次性部署;
- 使用docker-compose up命令将所有应用服务一次性部署起来。
docker-compose.yml常用命令
image
指定运行的镜像名称
# 运行的是 mysql 5.7的镜像 image: mysql:5.7 复制代码
container_name
配置容器名称
# 容器名称为mysql container_name: mysql 复制代码
ports
指定宿主机和容器的端口映射(HOST:CONTAINER)
# 将宿主机的3306端口映射到容器的3306端口 ports: - 3306:3306 复制代码
volumes
将宿主机的文件或目录挂载到容器中(HOST:CONTAINER)
# 将外部文件挂载到myql容器中 volumes: - /mydata/mysql/log:/var/log/mysql - /mydata/mysql/data:/var/lib/mysql - /mydata/mysql/conf:/etc/mysql 复制代码
environment
配置环境变量
# 设置mysqlroot帐号密码的环境变量 environment: - MYSQL_ROOT_PASSWORD=root 复制代码
links
连接其他容器的服务(SERVICE:ALIAS)
# 可以以database为域名访问服务名称为db的容器 links: - db:database 复制代码
Docker Compose常用命令
构建、创建、启动相关容器:
# -d表示在后台运行 docker-compose up -d 复制代码
停止所有相关容器:
docker-compose stop 复制代码
列出所有容器信息:
docker-compose ps 复制代码
使用Docker Compose 部署应用
编写docker-compose.yml文件
Docker Compose将所管理的容器分为三层,工程、服务及容器。docker-compose.yml中定义所有服务组成了一个工程,services节点下即为服务,服务之下为容器。容器与容器直之间可以以服务名称为域名进行访问,比如在mall-tiny-docker-compose服务中可以通过jdbc:mysql://db:3306这个地址来访问db这个mysql服务。
version: '3'
services:
# 指定服务名称
db:
# 指定服务使用的镜像
image: mysql:5.7
# 指定容器名称
container_name: mysql
# 指定服务运行的端口
ports:
- 3306:3306
# 指定容器中需要挂载的文件
volumes:
- /mydata/mysql/log:/var/log/mysql
- /mydata/mysql/data:/var/lib/mysql
- /mydata/mysql/conf:/etc/mysql
# 指定容器的环境变量
environment:
- MYSQL_ROOT_PASSWORD=root
# 指定服务名称
mall-tiny-docker-compose:
# 指定服务使用的镜像
image: mall-tiny/mall-tiny-docker-compose:0.0.1-SNAPSHOT
# 指定容器名称
container_name: mall-tiny-docker-compose
# 指定服务运行的端口
ports:
- 8080:8080
# 指定容器中需要挂载的文件
volumes:
- /etc/localtime:/etc/localtime
- /mydata/app/mall-tiny-docker-compose/logs:/var/logs
复制代码
注意:如果遇到mall-tiny-docker-compose服务无法连接到mysql,需要在mysql中建立mall数据库,同时导入mall.sql脚本。具体参考 使用Dockerfile为SpringBoot应用构建Docker镜像 中的运行mysql服务并设置部分。
以上所述就是小编给大家介绍的《使用Docker Compose部署SpringBoot应用》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- 使用Docker容器化部署实践之Django应用部署(一)
- Kubernetes应用部署策略实践
- Kubernetes应用部署策略实践
- Kubernetes 教程之应用部署
- 如何快速部署容器化应用
- OpenWhisk 的本地部署和应用
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Domain-Driven Design Distilled
Vaughn Vernon / Addison-Wesley Professional / 2016-6-2 / USD 36.99
Domain-Driven Design (DDD) software modeling delivers powerful results in practice, not just in theory, which is why developers worldwide are rapidly moving to adopt it. Now, for the first time, there......一起来看看 《Domain-Driven Design Distilled》 这本书的介绍吧!
RGB转16进制工具
RGB HEX 互转工具
html转js在线工具
html转js在线工具