0
我使用docker-compose開發django應用程序:我有一個相當簡單的設置 - 一個用於Web服務和一個用於數據庫的服務。有時我需要通過docker運行manage.py命令。爲什麼在完成命令後Docker-compose容器仍然存活?
我使用下面的命令:
$ docker-compose run web ./manage.py migrate
它工作得很好。但問題是,泊塢窗保持容器的命令結束後也:
$ docker-compose ps
Name Command State Ports
------------------------------------------------------------------------------------
seeder_data_1 sh Exit 0
seeder_postgres_1 /docker-entrypoint.sh postgres Up 0.0.0.0:5432->5432/tcp
seeder_web_1 fab run_local Up 0.0.0.0:8000->8000/tcp
seeder_web_run_14 ./manage.py migrate Up
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
61d3aee5bb39 seeder_web "./manage.py migrate" 4 minutes ago Restarting (2) 55 seconds ago seeder_web_run_14
85e91cb9383c seeder_web "fab run_local" 5 minutes ago Up 5 minutes 0.0.0.0:8000->8000/tcp seeder_web_1
565b01dedb7b postgres:latest "/docker-entrypoint.s" 5 minutes ago Up 5 minutes 0.0.0.0:5432->5432/tcp seeder_postgres_1
這是相當惱人的:我不希望有每噸只用於一個命令殭屍容器。命令返回後如何自動結束機器,有什麼方法嗎?我知道我可以手動殺人,但這有點煩人。
或者這背後有邏輯嗎?
謝謝,至少不能在docker-compose配置文件中配置... –
'--rm'通常會清理您只能用'docker ps -a'看到的退出容器。它不應該影響正在運行的容器。這是否阻止你的容器繼續運行? – Matt
命令返回後,他們被刪除,這正是我想要的。 –