api | ||
common | ||
console | ||
data | ||
docker | ||
tests | ||
.dockerignore | ||
.env-dist | ||
.gitignore | ||
.gitlab-ci.yml | ||
autocompletion.php | ||
composer.json | ||
docker-compose.dev.yml | ||
docker-compose.prod.yml | ||
Dockerfile | ||
Dockerfile-dev | ||
README.md | ||
yii |
Accounts Ely.by
Развёртывание dev
Предварительно нужно установить git, docker и его docker-compose.
За тем нужно установить, настроить и запустить nginx-proxy контейнер. Это делается один раз в рамках системы и в дальнейшем используется и для других проектов.
Также необходимо иметь доступ к registry.ely.by
. Для этого выполнить команду docker login registry.ely.by
,
ввести свой логин и пароль. Если доступа нету, то нужно его попросить у кого-нибудь, кто может его выдать.
За тем сливаем репозиторий:
git clone git@gitlab.com:elyby/account.git account.ely.by
cd account.ely.by.local
Далее нужно создать .env
, docker-compose.yml
и id_rsa
файлы:
cp .env-dist .env
cp docker-compose.dev.yml docker-compose.yml
cp ~/.ssh/id_rsa id_rsa # Использовать ссылку нельзя
Касательно файла id_rsa: часть зависимостей находятся в наших приватных репозиториях, получить доступ куда можно только в том случае, если в контейнере окажется ключ, который имеет доступ к этим репозиториям.
Все вышеперечисленные файла находятся под gitignore, так что с полученными файлами можно произвести
все необходимые манипуляции под конкретный кейс использования. В файле .env
обязательно следует
задать JWT_USER_SECRET
, иначе авторизация на бекенде не заработает.
После этого просто выполняем старт всех контейнеров:
docker-compose up -d
Они автоматически сбилдятся и начнут свою работу.
Как влезть в работающий контейнер
Сперва, с помощью команды docker ps
мы увидим все запущенные контейнеры. Нас интересуют значения
из первой колонки CONTAINER ID или NAMES. Узнать, чему они соответствуют можно прочитав название IMAGE
из 2 колонки. Чтобы выполнить команду внутри работабщего контейнера, нужно выполнить:
docker exec -it accountelyby_app_1 bash
Где accountelyby_app_1
- одно из значений CONTAINER ID или NAMES. Для выхода из контейнера
используем exit
.