Docker Compose 多容器应用
2023-09-11 14:14:40 时间
Docker Compose是一个用来定义并运行复杂应用程序的工具。用Compose,你可以在一个文件中定义多个容器应用程序,然后只需一条命令就可以完成使其运行所需的所有操作。
一个使用Docker容器的应用程序通常是由多个容器组成的。使用Docker Compose,不需要编写shell脚本来启动容器。所有的容器都以服务的形式被定义在一个配置文件中,然后使用docker-compose脚本来启动、停止和重启应用和应用中的所有服务,以及服务中的所有容器。
完整的命令列表:
下面是一个Java EE应用连接MySQL的例子
配置文件
首先,创建一个目录javaee
然后,在该目录下创建一个文件docker-compose.yml
在这个Compose文件中:
- 定义了两个服务,分别是“db”和“web”
- image 指定了服务所使用的镜像
- environment 定义了用于初始化MySQL的环境变量。其中,MYSQL_DATABASE 指定在镜像启动以后创建的数据库的名字;MYSQL_USER 和 MYSQL_PASSWORD 用于创建用户并设置密码。该用户将被授予超级管理员的权限类连接到通过MYSQL_DATABASE变量指定的数据库;MYSQL_ROOT_PASSWORD 强制的,用于设置MySQL root账号的密码。
- Java EE应用程序使用在connection-url中指定的db服务
- arungupta/docker-javaee:dockerconeu17镜像启动 WildFly Swarm 应用服务器
- ports 指定端口转发
- depends_on 指定服务直接的依赖关系。在这个例子中,MySQL会先于WildFly启动
启动应用程序
通过执行下面的命令,应用程序中的所有服务都会以独立模式启动
或者,你也可以用-f选项来指定配置文件。(PS:默认的配置文件的名字是docker-compose.yml)
接下来,运行命令启动一下
通过浏览器访问
最后,停止应用
备忘单
相关文章
- 如何将docker镜像的日志输出到标准输出/错误输出?(将自定义的应用日志输出到控制台)
- docker容器rename改名字
- Docker中mysql修改配置导致无法启动的docker容器
- Docker Compose:部署SpringBoot应用(含MySQL,Redis,Nacos,RabbitMQ,Nginx)
- 从Docker Hub和docker-registry看优秀的后端服务设计实现
- 使用 Docker Swarm 部署可扩展的 Python3 应用
- [转]docker入门(利用docker部署web应用)
- 如何将本地应用制作成docker镜像
- 利用 ELK 搭建 Docker 容器化应用日志中心
- Docker环境搭建与使用:docker容器的基本使用方法
- Docker环境搭建与使用:docker容器连接
- 如何在docker中启动应用
- Docker容器重启策略以及docker run的--restart选项详解
- Ubuntu 18.04在已经安装Docker CE后如何安装NVIDIA-Docker,以使docker容器内可以使用宿主机显卡
- <转载>Docker 与 Booz Allen Hamilton 携手,推动政府机构传统 IT 应用现代化
- Ubuntu下Jenkins(docker)配置Docker远程启动
- SpringBoot应用整合并使用Docker安装ELK实现日志收集
- 关于Docker在测试方面的应用