簡體   English   中英

保存和加載后缺少Docker-compose env var

[英]Docker-compose env var missing after save and load

我正在嘗試根據此配置使用docker-compose部署flask實例:

泊塢窗,compose.yml

version: '2'
services:
  flask:
    container_name: myproject
    image: myproject
    build: .
    env_file: dev.env
    ports:
    - "5000:5000"

dev.env

FLASK_HOST=0.0.0.0
FLASK_PORT=5000
FLASK_DEBUG=1

Dockerfile

FROM ubuntu:latest
RUN apt-get update -y
RUN apt-get install -y python-pip python-dev build-essential
RUN mkdir /app
WORKDIR /app
COPY requirements.txt /app/requirements.txt
RUN pip install --upgrade pip
RUN pip install -r requirements.txt
COPY . /app
CMD python ./app/run.py
EXPOSE ${FLASK_PORT}

在本地一切正常,但是當我嘗試加載映像備份並在另一台計算機上的容器中運行它時,出現以下錯誤:

Traceback (most recent call last):
  File "./app/run.py", line 10, in <module>
    port = int(os.environ.get("FLASK_PORT"))
TypeError: int() argument must be a string or a number, not 'NoneType'

似乎沒有更多環境變量了。 我錯過了什么 ?

docker-compose.yml沒有魔術,只是Docker命令的總結。

對於您的情況,啟動容器的最終命令類似於:

docker run --env-file=xxx ...

該env文件從未傳輸到另一台計算機。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM