[英]docker-compose up not recreate container
我創建了兩個容器,一個是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用於Windows 18.06.1-ce和Compose 1.22.0
更新
因此, up重新創建容器是不正確的,但是僅在發生某些更改時才這樣做嗎?
我也看到docker-compose down
這取出容器和力up
重新創建它們,才是正確的計算策略? 我不理解的是為什么每次我停止容器時都會保存容器的狀態(由tomcat創建的app.pid文件在一次簡單的啟動后仍然存在,而沒有先前的關閉 )
docker-compose
啟動和停止容器,如果您想在每次必須按照docs傳遞--force-recreate
標志時重新創建它們,則可以。
--force-recreate
將重新創建容器
--force-recreate =>重新創建容器,即使它們的配置和映像沒有更改。
docker-compose up -d --force-recreate
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.