Я создаю два контейнера, один - oracle db, а другой - apache tomcat.
Я запускаю их оба, используя следующую команду docker:
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 , что в соответствии с документацией должно воссоздать контейнер.
Но в действительности он запускает только старые контейнеры (с тем же идентификатором контейнеров) с состоянием контейнеров, когда он был остановлен, это проблема, потому что я использую его для тестирования и хочу начать с чистой ситуации (ROOT. Война должна быть развернута каждый раз, когда я запускаю команду).
Это нормально, или я что-то упускаю.
Я использую Docker для Windows 18.06.1-ce и Compose 1.22.0
UPDATE
Так не правда ли, что up воссоздает контейнер, но делает ли это только если что-то изменилось?
Я также вижу docker-compose down
, который удаляет контейнер и заставляет up
воссоздать их, правильный подход?
Я не понимаю, почему состояние контейнера сохранялось каждый раз, когда я его останавливал (файл app.pid , созданный tomcat, все еще присутствует после простого up без предыдущего вниз )