使用yaml继承我试图在不同容器之间共享env变量。它可以工作,但容器在创建后就会死掉。
如何在创建容器后运行容器。
我使用' docker-compose up -d'提起这些容器。
version: '3'
services:
worker: &default
image: 127.0.0.1:5000/stackdemo
env_file:
- .env
# entrypoint: ["/tini", "--", "/common-bash"]
web:
<<: *default
image: 127.0.0.1:5000/stackdemo
build: .
ports:
- "8000:8000"
entrypoint: ["/tini", "--", "/common-bash"]
此外,这是我的泊坞文件 -
FROM python:3.4-alpine
ADD . /code
WORKDIR /code
ENV TINI_VERSION v0.16.1
ADD https://github.com/krallin/tini/releases/download/${TINI_VERSION}/tini /tini
RUN chmod +x /tini
RUN pip install -r requirements.txt
CMD ["python", "app.py"]
以下是我的common-bash文件的内容:
set -e
set USERNAME "test"
exec "$@"
答案 0 :(得分:0)
我认为您的问题是您运行的应用程序(python app.py)作为前台进程运行,并在容器启动后几秒钟结束执行。当前台进程由CMD运行或ENTRYPOINT停止时,Docker会关闭这些容器。有几种方法可以避免它。 Why docker container exits immediately