Я совершенно новичок в Docker, но мне нужно создать Docker Compose этого приложения .
Я решил начать с создания образа и запустить его как один контейнер, поэтому я клонировал репозиторий и создал следующий Dockerfile:
FROM python:2.7-slim
WORKDIR /flask
COPY requirements.txt requirements.txt
RUN pip install -r requirements.txt
CMD ["python", "routes.py"]
Образ был успешно создан, но когда я использовал команду запуска, я получил:
python: can't open file 'routes.py': [Errno 2] No such file or directory
Мой Dockerfile
находится в том же каталоге, что и routes.py
, поэтому я понятия не имею, почему он его не видит.
РЕДАКТИРОВАНИЕ: Копирование каталога в контейнер решило проблему с открытием файла. Но веб-контент не отображается. docker run tagName
команда возвращает:
* Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
* Restarting with stat
* Debugger is active!
* Debugger pin code: 262-019-209
Однако, когда я набираю docker container ls
, мой контейнер отсутствует в списке. Так что, может быть, он все еще не создан.
routes.py
файл:
from flask import Flask, render_template
app = Flask(__name__)
# two decorators, same function
@app.route('/')
@app.route('/index.html')
def index():
return render_template('index.html', the_title='Tiger Home Page')
@app.route('/symbol.html')
def symbol():
return render_template('symbol.html', the_title='Tiger As Symbol')
@app.route('/myth.html')
def myth():
return render_template('myth.html', the_title='Tiger in Myth and Legend')
if __name__ == '__main__':
app.run(host='0.0.0.0', debug=True)