目前我在Tomcat 7上运行了2个Web应用程序(WAR(app1和app2:
应用程序1 on http://localhost:8080/app1
应用程序2 on http://localhost:8080/app2
我在 docker 中为 webapp app1 和 app2 创建了两个不同的映像。
现在我想在 docker 中运行这两个映像,以便我可以使用相同的主机和端口访问应用程序:即:本地主机:8080/app1 和本地主机:8080/app2
可能吗?
提前谢谢。
您可以使用 docker-compose 来实现此目的。 docker-compose 可以在同一"主机"上为您构建多个容器。您可以根据需要在docker-compose中包含其他服务,例如数据库或redis服务。然后运行 docker-compose up 命令。
$ docker-compose -f 'myapps-docker-compose.yml' up -d
其中-f
是"从文件",-d
是分离的。 名为myapps-docker-compose.yml
的示例 docker 撰写文件
version: '2.1'
#
services:
redis:
image: 'redis:5.0.5'
# command: redis-server --requirepass redispass
app1:
image: app1
build:
context: .
dockerfile: Dockerfile_app1
app2:
image: app2
build:
context: .
dockerfile: Dockerfile_app2