我创建了两个容器,一个是 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.war 必须是每次运行命令时都会部署)。
这是正常的,或者我错过了什么。
我正在使用 docker for windows 18.06.1-ce 和 Compose 1.22.0
UPDATE
所以这不是真的up重新创建容器,但仅在发生更改时才执行?
我也看到了docker-compose down
移除容器并强制up
重新创建它们,是正确的方法吗?
我不明白的是为什么每次我停止容器时都会保存容器的状态(文件app.pid创建由 tomcat 进行简单操作后仍然存在up没有以前的down)
docker-compose
启动和停止容器,如果您想在每次必须通过时重新创建它们--force-recreate
标志按照docs https://docs.docker.com/compose/reference/up/.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)