This is template for new php project with docker usages. It used to fast pet-project infrastructure set up with docker-compose.
You need already installed docker-compose:
https://github.com/Yelp/docker-compose/blob/master/docs/install.md
- git clone or download. Dont forget remove .git before work with pet-project.
- add source code as though it's local project (for example - app directory with some code)
- check docker-compose configuration. It already would works if you need nginx+php only.
- go to terminal and run:
docker-compose up -d
Docker will build container from php image and install php extensions.
After built and start open you browser by localhost:8087
(docker-compose.yml port assigned in section app
) and it would work now!
You can also use client
directory to create your frontend client here.
Nginx config already configured to route localhost:8086
to client/public/index.html file.
Do not forget bind build
directory for nginx of your client if you will use it.
Just change:
docker-compose.yml
volumes fornginx
section to bind build directory, like this:
volumes:
- ./.docker/nginx/conf.d:/etc/nginx/conf.d/
- ./client/build:/var/www/public # here a new client content binding
.docker/nginx/conf.d/client.conf
should point to correct root dir and index file
Это шаблон для новых проектов на php, с использованием docker. Применяется для быстрого поднятия инфраструктуры pet-проектов на основе docker-compose.
Должен быть уже установлен docker-compose:
https://github.com/Yelp/docker-compose/blob/master/docs/install.md
- git clone или download. Не забудьте удалить .git, до того как начинать разработку pet-проекта.
- добавляем свой код как будто это локальный проект (ну например, директорию app и всё такое)
- проверяем конфигурацию docker-compose. По-умолчанию конфигурация рабочая если вам нужен только nginx+php
- идём в терминал (консоль) и запускаем:
docker-compose up -d
Здесь сначала докер будет собирать контейнер из образа, устанавливать расширения для php.
После того как всё будет запущено, открываем в браузере localhost:8086
(docker-compose.yml прописан порт в секции app
) и это уже должно работать!
Вы также можете использовать директорию client
для создания своего фронтенд-клиента.
Nginx уже сконфигурирован чтобы перенаправлять запросы с localhost:8086
на файл client/public/index.html
Не забудьте привязать свою директорию build
клиента в nginx если будете использовать эту функциональность.
Просто замените:
- Проброс содержимого билда в
docker-compose.yml
дляnginx
, как-то так:
volumes:
- ./.docker/nginx/conf.d:/etc/nginx/conf.d/
- ./client/build:/var/www/public # вот это проброс билда внутрь nginx
.docker/nginx/conf.d/client.conf
должен указывать на корректную root директрию и index.html файл внутри контейнера nginx