Docker контейнер не имеет файлов после копирования - PullRequest
0 голосов
/ 20 февраля 2019

Я учусь работать с Docker, пытаюсь попрактиковаться с книгой «Микросервисы с Docker, Flask и React».

Во-первых, я добавил себя в группу docker с usermod для выполнения всех операций без sudo.Это сработало, но когда я пытаюсь запустить успешно собранный образ на докер-машине, он говорит, что нет такого файла для запуска.

У меня есть такой тестовый проект:

testdriven-app:
|--users-service: 
|  |--project:
|  |  |--__init__.py
|  |  |--config.py
|  |--Dockerfile-dev
|  |--manage.py
|  |--requirements.txt
|--docker-compose-dev.yml

Dockerfile-dev:

FROM python:3.5.3

# set working directory
RUN mkdir -p /usr/src/app
WORKDIR /usr/src/app

# add requirements
ADD ./requirements.txt /usr/src/app/requirements.txt

# install requirements
RUN pip install -r requirements.txt

# add app
ADD . /usr/src/app

# run server
CMD python manage.py runserver -h 0.0.0.0 

docker-compose-dev.yml:

version: '3.3'
services:

  users-service:
    container_name: users-service
    build:
      context: ./users-service
      dockerfile: Dockerfile-dev
    volumes:
      - './users-service:/usr/src/app'
    ports:
      - "5001:5000"

[kuimov@ms testdriven-app [testdriven-dev]]$ docker-compose -f docker-compose-dev.yml build
Building users-service
Step 1/7 : FROM python:3.5.3
 ---> 56b15234ac1d
Step 2/7 : RUN mkdir -p /usr/src/app
 ---> Using cache
 ---> 4caa9194035d
Step 3/7 : WORKDIR /usr/src/app
 ---> Using cache
 ---> 3c347fd7446b
Step 4/7 : ADD ./requirements.txt /usr/src/app/requirements.txt
 ---> Using cache
 ---> 417256150884
Step 5/7 : RUN pip install -r requirements.txt
 ---> Using cache
 ---> 5df631263c71
Step 6/7 : ADD . /usr/src/app
 ---> f97cde6e7e00
Step 7/7 : CMD python manage.py runserver -h 0.0.0.0
 ---> Running in 70ea95e36c1e
Removing intermediate container 70ea95e36c1e
 ---> f3d548a00de1

Successfully built f3d548a00de1
Successfully tagged testdriven-app_users-service:latest
[kuimov@ms testdriven-app [testdriven-dev]]$ docker-compose -f docker-compose-dev.yml up
Recreating users-service ... done
Attaching to users-service
users-service    | python: can't open file 'manage.py': [Errno 2] No such file or directory
users-service exited with code 2

Я подозреваю, что существует проблема с разрешениями, потому что тот же контейнер, созданный с помощью sudo, успешно запускается, номне довольно сложно это выяснить.

1 Ответ

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

Итак, это была старая версия docker-compose.Я только что обновил его, и теперь он работает.

...