Не удается запустить Dash из файла Docker-compose - PullRequest
2 голосов
/ 23 мая 2019

Я настраиваю панель инструментов с plotly-dash и хочу протестировать несколько различных опций css. Казалось, пришло время попробовать Docker-compose, для которого я новичок. Когда я выполняю docker-compose up --build в моей системе, он выдает мне FileNotFoundError [Errno 2] Нет такого файла или каталога: '/code/app.py'

Я попробовал несколько изменений в расположении файла app.py и добавил шебанг в файл. Я могу заставить файл работать локально, поэтому я знаю, что он работает.
Я на машине с windows 10 и имею докер версии 2.0.0.3, Compose 1.23.2, Engine 18.09.2 Что-то я не уверен, что это будет иметь значение, но мой пользовательский каталог находится на диске C, и я работаю над этим проектом на моем диске F.

Dockerfile:

FROM python:3.6.2

RUN mkdir /code
WORKDIR /code
COPY requirements.txt /code/
RUN pip install -r requirements.txt
ADD . /code/

Docker-compose.yml:

version: '3'

services:
  web:
    build: .
    command: python app.py
    volumes:
      - .:/code
    ports:
      - "8050:8050"

app.py:

#!/usr/local/bin/python3

import dash
import dash_core_components as dcc
import dash_html_components as html


app.layout = html.Div(children=[
    html.H1(children='Hello Dash'),

    html.Div(children='''
        Dash: A web application framework for Python.
    '''),

    html.Ul([
        html.Li([
           html.Div('filter_drama', className='collapsible-header'),
            html.Div(html.Span(['Lorem ipsum dolar sit amet.']), className='collapsible-body'),
        ]),
    ], className='collapsible'),

    dcc.Graph(
        id='example-graph',
        figure={
            'data': [
                {'x': [1, 2, 3], 'y': [4, 1, 2], 'type': 'bar', 'name': 'SF'},
                {'x': [1, 2, 3], 'y': [2, 4, 5], 'type': 'bar', 'name': u'Montréal'},
            ],
            'layout': {
                'title': 'Dash Data Visualization'
            }
        }
    )
])

if __name__ == '__main__':
    app.run_server(debug=True, host='0.0.0.0', port=8050)

requirements.txt:

dash
dash-daq

Я ожидал бы, что смогу выполнить команду 'docker-compose up --build' в том же каталоге, что и мой файл Docker-compose.yml, и продолжу локально разрабатывать на этом сервере и видеть появление изменений. Тем не менее, я не получаю ошибку FileNotFoundError: [Errno 2].

...