Автоматизировать проект в Laravel - PullRequest
0 голосов
/ 26 апреля 2019

У меня есть приложение в Laravel с файлом .env.local (и я создал следующий файл docker-compose:

api:
container_name: nadal_api
build:
  context: .
  dockerfile: Dockerfile
volumes:
  - .:/var/www/html/app
ports:
  - ${APP_PORT}:80
links:
  - db
  - redis

и мой файл докера

ОТкомпозитор: последний компоновщик AS

ОТ узла: последний узел AS

WORKDIR / var / www / html / app /

с php: 7.2-fpm-stretch

RUN apt-get update && apt-get install -y \ supervisor \ nginx \ zip

ДОБАВИТЬ docker / nginx.conf /etc/nginx/nginx.conf ДОБАВИТЬ docker / virtualhost.conf / etc /nginx / conf.d / default.conf ADD docker / supervisord.conf /etc/supervisor/conf.d/supervisord.conf

окружение ARG

COPY --from = composer / usr /bin / composer / usr / bin / composer

COPY .env.local .env RUN chmod -R g + w / var / www / html / app / bootstrap

RUN composer установить RUN phpключ ремесленника: генерировать

ЭКСПОЗИЦИЯ 80

CMD ["/ usr / bin / supervisord"]

Я хочу клонировать хранилище, а при выполнении докера -создайте сборку, которая выполняет следующие действия в dockerfile:

  1. переименовать .env.local в .env
  2. дать разрешения для папки хранения.У меня есть ошибка в этой строке

RUN chmod -R g + w / var / www / html / app / bootstrap

chmod: невозможно получить доступ '/ var /www / html / app / bootstrap ': нет такого файла или каталога

docker-compose.yaml: $ {APP_PORT} принимает значения из .env.local (я пытался с env_file, но он не работает

1 Ответ

1 голос
/ 26 апреля 2019

В вашем Dockerfile нет действия COPY, чтобы скопировать весь текущий код проекта в созданное изображение.Поэтому папка начальной загрузки не существует в вашем образе.Так что chmod говорит вам именно это.

Тома (эта строка -.: / Var / www / html / app) будет синхронизировать ваш текущий каталог с контейнером позже, когда он будет создан в зависимости от структуры изображения.Поэтому, если вы хотите дать разрешения для папки начальной загрузки, скопируйте код проекта в изображение, прежде чем давать ему разрешения.Добавьте эту строку перед разрешением операций, чтобы сделать папки доступными.

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