Docker Compose 多容器应用

Posted cjsblog

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Docker Compose 多容器应用相关的知识,希望对你有一定的参考价值。

Docker Compose是一个用来定义并运行复杂应用程序的工具。用Compose,你可以在一个文件中定义多个容器应用程序,然后只需一条命令就可以完成使其运行所需的所有操作。

一个使用Docker容器的应用程序通常是由多个容器组成的。使用Docker Compose,不需要编写shell脚本来启动容器。所有的容器都以服务的形式被定义在一个配置文件中,然后使用docker-compose脚本来启动、停止和重启应用和应用中的所有服务,以及服务中的所有容器。

完整的命令列表:

技术图片

下面是一个Java EE应用连接mysql的例子

配置文件

首先,创建一个目录javaee

然后,在该目录下创建一个文件docker-compose.yml

技术图片

在这个Compose文件中:

  1. 定义了两个服务,分别是“db”和“web”
  2. image  指定了服务所使用的镜像
  3. environment  定义了用于初始化MySQL的环境变量。其中,MYSQL_DATABASE 指定在镜像启动以后创建的数据库的名字;MYSQL_USER 和 MYSQL_PASSWORD 用于创建用户并设置密码。该用户将被授予超级管理员的权限类连接到通过MYSQL_DATABASE变量指定的数据库;MYSQL_ROOT_PASSWORD 强制的,用于设置MySQL root账号的密码。
  4. Java EE应用程序使用在connection-url中指定的db服务
  5. arungupta/docker-javaee:dockerconeu17镜像启动 WildFly Swarm 应用服务器
  6. ports 指定端口转发
  7. depends_on 指定服务直接的依赖关系。在这个例子中,MySQL会先于WildFly启动

启动应用程序

通过执行下面的命令,应用程序中的所有服务都会以独立模式启动

技术图片

或者,你也可以用-f选项来指定配置文件。(PS:默认的配置文件的名字是docker-compose.yml)

接下来,运行命令启动一下

技术图片

技术图片

通过浏览器访问

技术图片

最后,停止应用

技术图片

备忘单

技术图片

技术图片

 

以上是关于Docker Compose 多容器应用的主要内容,如果未能解决你的问题,请参考以下文章

Docker-Compose

Docker-Compose

如何在 docker-compose 中制作 React 应用程序?构建步骤完成后容器正在退出

Docker Compose 多容器应用

docker-compose 在主机重启后启动容器。哪个?

我的Docker之路:使用Docker-Compose管理多容器应用