【发布时间】:2018-11-06 11:50:15
【问题描述】:
我创建了两个容器,一个是 oracle db,一个是 apache tomcat。
我使用以下 docker compose 运行它们:
version: '3.4'
services:
tomcat:
build: ./tomcat/.
ports:
- "8888:8080"
- "59339:59339"
depends_on:
- oracle
volumes:
- ./tomcat/FILES:/usr/test/FILES
- ./ROOT.war:/opt/tomcat/webapps/ROOT.war
expose:
- "8888"
- "59339"
oracle:
build: ./database/.
ports:
- "49161:1521"
environment:
- ORACLE_ALLOW_REMOTE=true
expose:
- "49161"
我使用命令 docker-compose up ,根据文档,它必须重新创建容器。
但实际上它只启动旧容器(相同的容器 ID)和容器停止时的状态,这是一个问题,因为我将它用于测试并且我想从一个干净的情况开始(ROOT.每次运行命令时都必须部署战争)。
这很正常,否则我错过了什么。
我正在为 windows 18.06.1-ce 和 Compose 1.22.0 使用 docker
更新
所以 up 重新创建容器,但只有在发生变化时才这样做,这不是真的吗?
我还看到docker-compose down 删除了容器并强制up 重新创建它们,是正确的方法吗?
我不理解的事情是为什么每次我停止它时都会保存容器的状态(由tomcat创建的文件 app.pid 在简单的 up 之后仍然存在而没有上一个向下)
【问题讨论】:
标签: docker docker-compose containers