我从这两个项目创建了两个不同的Dockerfile:
https://hub.docker.com/_/Tomcat
https://hub.docker.com/r/kartoza/postgis/
这两个图像和两个容器都能很好地工作。
现在,我想创建一个包含两个Dockerfile的docker-compose.yml文件。
有人帮我吗?
下面是我正在使用的所有代码的列表。
Windows提示符(正在运行):
D:
cd "D:\DATI\..."
...
docker build -t tomcat-eb:v.9.0.17 .
docker run -it --rm --name tomcat-eb-container -p 8888:8080 tomcat-eb:v.9.0.17
...
docker build -t tomcat-postgresql-postgis:v.9.0.17-9.6-2.4 .
docker run --name=postgresql-postgis-container -d -e POSTGRES_USER=eb -e POSTGRES_PASS=password -e POSTGRES_DBNAME=gis -e ALLOW_IP_RANGE=0.0.0.0/0 -p 5432:5432 -v pg_data:/var/lib/postgresql --restart=always tomcat-postgresql-postgis:v.9.0.17-9.6-2.4
docker run -it --rm --name tomcat-container -p 8888:8080 tomcat-postgresql-postgis:v.9.0.17-9.6-2.4
D:\ DATI \ Docker-Tomcat-PosgreSQL \ postgresql-postgis \ Dockerfile(正在运行):
FROM kartoza/postgis:9.6-2.4
LABEL Author="Nome Cognome"
EXPOSE 5432
VOLUME create pg_data
D:\ DATI \ Docker-Tomcat-PosgreSQL \ tomcat \ Dockerfile(正在运行):
FROM tomcat:9-jre11
LABEL Author="Nome Cognome"
EXPOSE 8080
RUN rm -fr /usr/local/tomcat/webapps/ROOT
COPY ./*.war /usr/local/tomcat/webapps/ROOT.war
CMD ["catalina.sh", "run"]
D:\ DATI \ Docker-Tomcat-PosgreSQL \ docker-compose.yml(不完整):
version: '1.0'
services:
tomcat:
container_name: tomcat-container
build:
context: ./tomcat
dockerfile: Dockerfile
image: tomcat-compose-image:v.9.0.17
expose:
- "8888"
networks:
- mobility
postgresql-postgis:
container_name: postgresql-postgis-container
build:
context: ./postgresql-postgis
dockerfile: Dockerfile
image: postgresql-postgis-image:v.9.6-2.4
volumes:
- pg_data:/var/lib/postgresql
expose:
- "5432"
networks:
- mobility
正确写入docker-compose.yml文件后,我应该在提示窗口中写些什么?
如何将代码cli转换为docker-compose.yml文件?
我的.war文件与我编写的2个Dockerfile以及我报告的cli代码完美配合。我想对DockerCompose做同样的事情。
谢谢