SedovSG microservices repository
docker-machine create \
--driver generic \
--generic-ip-address=51.250.9.140 \
--generic-ssh-user yc-user \
--generic-ssh-key ~/.ssh/id_rsa.yc \
docker-host
$: docker build -t reddit:latest .
$: docker tag reddit:latest sedovsg/otus-reddit:1.0 && docker push sedovsg/otus-reddit:1.0
$: docker run --name reddit -d --network=host reddit:latest
$: docker network create {name}
$: docker run -d --network=reddit --network-alias=post_db --network-alias=comment_db mongo:latest
$: docker run -d --network=reddit --network-alias=post sedovsg/post:1.0
$: docker run -d --network=reddit --network-alias=comment sedovsg/comment:1.0
$: docker run -d --network=reddit -p 9292:9292 sedovsg/ui:1.0
Для данной опреации используются переменные окрцжения, предоставленные Docker Compose:
- REPOSITORY_NAME - позволяет переопределить значение используемого по умолчнию директории docker-compose
- COMPOSE_PROJECT_NAME - название проекта
По умолчанию в Compose используются два файла docker-compose.yml
и docker-compose.override.yml
. Если первый файл, по соглашению, содержит всю базовую конфигурацию сервиса, то второй - может переопределения базовой конфигурации. docker-compose.override.yml
чаще всего используют для dev
среды, т.к. при сборке приложения нет необходимости указывать флаг -f
.
Возможны следующие среды - stage
и prod
. Тогда для запуска соответсвующих файлов неоходимо исаользовать следующие команды:
$: docker-compose -f docker-compose.yml -f docker-compose.stage.yml run --build -d
$: docker-compose -f docker-compose.yml -f docker-compose.prod.yml run --build -d
Установка Gitlab Omnibus может быть использована в ознакомительных целях, использовать в окружении производсва - не рекомендуется.
$: cd gitlab-ci && docker-compose up --build -d
$: docker run -d --name gitlab-runner --restart always -v /srv/gitlab-runner/config:/etc/gitlab-runner -v /var/run/docker.sock:/var/run/docker.sock gitlab/gitlab-runner:latest
$: docker exec -it gitlab-runner gitlab-runner register --url http://130.193.53.217 --non-interactive --locked=false --name DockerRunner --executor docker --docker-image alpine:latest --registration-token GR13489416hUfrpJPwiPrApXBuUxi --tag-list "linux,xenial,ubuntu,docker" --run-untagged
$: yc compute instance create \
--name docker-host \
--hostname docker-host \
--memory=4 --zone=ru-central1-a \
--create-boot-disk image-folder-id=standard-images,image-family=ubuntu-1804-lts,size=15GB \
--network-interface subnet-name=default-ru-central1-a,nat-ip-version=ipv4 --ssh-key ~/.ssh/id_rsa.yc.pub
$: docker-machine create \
--driver generic \
--generic-ip-address=178.154.247.119 \
--generic-ssh-user yc-user \
--generic-ssh-key ~/.ssh/id_rsa.yc \
docker-host
$: eval $(docker-machine env docker-host)