Ошибка Docker: не удалось создать службу 'app' - PullRequest
0 голосов
/ 14 февраля 2019

Я новичок в докере, в настоящее время следующая книга, чтобы выучить Джанго.

  1. Нужно ли находиться в виртуальной среде при выполнении команды, приведенной ниже?

  2. Я просмотрел основные видеоролики Docker, в которых говорится, что каждый сохраняетприложения в виде изображений.Но где хранятся эти изображения?.

  3. Делает ли эта строка текущим корневым каталогом ПК или докерами Изображение 'WORKDIR / usr / src / app'

ADD помещается перед RUN в Dockerfile.

$ sudo docker-compose build

Но я получил эти ошибки.

ERROR: Service 'app' failed to build: ADD failed: stat /var/lib/docker/tmp/docker-builder912263941/config/requirements.txt: no such file or directory

Dockerfile

FROM python:3
RUN apt-get update \
    && apt-get install -y --no-install-recommends \
    mysql-client default-libmysqlclient-dev

WORKDIR /usr/src/app
ADD config/requirements.txt ./
RUN pip3 install --upgrade pip; \
  pip3 install -r requirements.txt
RUN django-admin startproject myproject .;\
  mv ./myproject ./origproject

docker-compose.yml

version: '2'
services:
  db:
    image: 'mysql:5.7'
  app:
    build: .
    command: python3 manage.py runserver 0.0.0.0:8000
    volumes:
      - './project:/usr/src/app/myproject'
      - './media:/usr/src/app/media'
      - './static:/usr/src/app/static'
      - './templates:/usr/src/app/templates'
      - './apps/external:/usr/src/app/external'
      - './apps/myapp1:/usr/src/app/myapp1'
      - './apps/myapp2:/usr/src/app/myapp2'
    ports:
      - '8000:8000'
    links:
      - db

needs.txt

Pillow~=5.2.0
mysqlclient~=1.3.0
Django~=2.1.0

1 Ответ

0 голосов
/ 14 февраля 2019

Нужно ли находиться в виртуальной среде при выполнении приведенной ниже команды?

Нет, среда сборки докера изолирована от хоста.Любой virtualenv на хосте игнорируется в контексте сборки и получающемся образе.

Я просмотрел основные видеоролики Docker, в которых говорится, что каждое приложение сохраняется в виде изображений.Но где эти изображения сохраняются?

Изображения хранятся где-то в /var/lib/docker, но не предназначены для просмотра вручную.Вы можете отправлять изображения куда-нибудь с помощью docker push <image:tag> или сохранять их с помощью docker save <image:tag> -o <image>.tar

Эта строка создает текущий корневой каталог компьютера или докеров Image 'WORKDIR> / usr / src / app'

Эта строка изменяет текущий рабочий каталог образа.

ERROR: Service 'app' failed to build: ADD failed: stat /var/lib/docker/tmp/docker-builder912263941/config/requirements.txt: no such file or directory

Эта ошибка означает, что у вас нет config/requirements.txt в текущем каталоге, в котором выполняется сборка.Правильно настройте путь в Dockerfile.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...