我有一个java WAR文件,它属于Image (Docker),正在Tomcat (Docker)容器中启动。由于编码的变化,战争也会发生变化。我想做以下几点:
我也在使用维护者。是否有一系列可以执行/运行的命令,以便可以自动运行第4项和第5项(而不需要人工干预)?有什么办法可以做到这一点吗?
提亚
发布于 2017-05-10 13:58:28
码头工可能会对此有所帮助。您可以为应用程序创建一个yml文件,并根据需要使用来拆分新的容器。例如,基于tomcat/mongo的应用程序具有以下yml文件:
version: '3'
services:
mongodb:
image: mongo
network_mode: host
tomcat:
build:
context: ./app
dockerfile: DockerfileTomcat
network_mode: host
depends_on:
- mongodb文件夹布局如下:
├── docker-compose.yml
└── app
├── DockerfileTomcat
└── app.war其中,DockerfileTomcat负责将tomcat容器中的war文件复制为:
FROM tomcat:8.5-jre8
RUN rm -rf /usr/local/tomcat/webapps/*
COPY app.war /usr/local/tomcat/webapps/app.war为了启动应用程序,需要在包含docker-compose.yml的目录中运行以下命令
docker-compose up --build只需每次通过app.war复制新的war文件,并运行上面的命令。它将创建基本映像并启动更新的容器。
如果这不是您要寻找的东西,您可以编写一个BASH脚本来自动化这个过程。如果你想让我把它寄到这里,请告诉我。
https://stackoverflow.com/questions/43893355
复制相似问题