-
-
Save denisxab/2f35c8f91ed1207116760dab3f86bdd6 to your computer and use it in GitHub Desktop.
| version: "3.5" | |
| services: | |
| gitlab: | |
| image: gitlab/gitlab-ce:latest | |
| hostname: "localhost" | |
| restart: unless-stopped | |
| environment: | |
| GITLAB_OMNIBUS_CONFIG: | | |
| external_url 'http://localhost' | |
| gitlab_rails['gitlab_shell_ssh_port'] = 8822 | |
| gitlab_rails['initial_root_password'] = 'CHANGEME123' | |
| ports: | |
| - "8000:80" | |
| - "8822:22" | |
| volumes: | |
| - ./data/docker/gitlab/etc/gitlab:/etc/gitlab | |
| - ./data/docker/gitlab/var/opt/gitlab:/var/opt/gitlab | |
| - ./data/docker/gitlab/var/log/gitlab:/var/log/gitlab | |
| networks: | |
| - gitlab_net | |
| dind: | |
| image: docker:20-dind | |
| restart: always | |
| privileged: true | |
| environment: | |
| DOCKER_TLS_CERTDIR: "" | |
| command: | |
| - --storage-driver=overlay2 | |
| volumes: | |
| - ./data/dind/docker:/var/lib/docker | |
| networks: | |
| - gitlab_net | |
| depends_on: | |
| - gitlab | |
| gitlab-runner: | |
| image: gitlab/gitlab-runner:alpine | |
| restart: unless-stopped | |
| environment: | |
| - DOCKER_HOST=tcp://dind:2375 | |
| # command: | |
| # # Скачаем docker чтобы можно было увидеть какие есть контейнеры | |
| # - apk update | |
| # - apk add --no-cache docker | |
| # - addgroup gitlab-runner docker | |
| volumes: | |
| - ./config:/etc/gitlab-runner:z | |
| - ./data/runner/cache:/cache | |
| - /var/run/docker.sock:/var/run/docker.sock | |
| networks: | |
| - gitlab_net | |
| depends_on: | |
| - gitlab | |
| register-runner: | |
| restart: "no" | |
| image: gitlab/gitlab-runner:alpine | |
| environment: | |
| - REGISTRATION_TOKEN=${REGISTRATION_TOKEN} | |
| - CI_SERVER_URL=http://gitlab | |
| command: | |
| - register | |
| - --non-interactive | |
| - --locked=false | |
| # Имя для runner, обычно название такое же как у проекта | |
| - --name=${RUNNER_NAME} | |
| - --executor=docker | |
| # Url до своего gitlab сервера, тут он у нас в одной сети | |
| - --url=http://gitlab | |
| - --clone-url=http://gitlab | |
| - --docker-image=docker:20-dind | |
| - --docker-volumes=/var/run/docker.sock:/var/run/docker.sock | |
| # Чтобы контейнре мог иметь сетевой доступ к контейнеру с gitlab | |
| - --docker-network-mode=host | |
| volumes: | |
| - ./config:/etc/gitlab-runner:z | |
| - ./data/dind/docker:/var/lib/docker | |
| networks: | |
| - gitlab_net | |
| depends_on: | |
| - dind | |
| networks: | |
| gitlab_net: | |
| name: gitlab_net |
гайс, выпустили новую версию gitlab-runner, убрали команду register, используйте gitlab-runner register, то бишь
register-runner:
restart: "no"
image: gitlab/gitlab-runner:alpine
environment:
- REGISTRATION_TOKEN=glrt-RYRh6iL31dfOXqKbAvh3TG86MQpwOjEKdDozCnU6MQ8.01.170uysxvs
- CI_SERVER_URL=http://gitlab
command:
- gitlab-runner register
- --non-interactive
- --locked=false
# Имя для runner, обычно название такое же как у проекта
- --name="sq1"
- --executor=docker
# Url до своего gitlab сервера, тут он у нас в одной сети
- --url=http://gitlab
- --clone-url=http://gitlab
- --docker-image=docker:20-dind
- --docker-volumes=/var/run/docker.sock:/var/run/docker.sock
# Чтобы контейнре мог иметь сетевой доступ к контейнеру с gitlab
- --docker-network-mode=host
volumes:
- ./config:/etc/gitlab-runner:z
- ./data/dind/docker:/var/lib/docker
networks:
- gitlab_net
depends_on:
+ на винде траблы с DinD, вот фикс
dind:
image: docker:20-dind
restart: always
privileged: true
environment:
DOCKER_TLS_CERTDIR: ""
command: ["--storage-driver=overlay2"]
volumes:
- dind-data:/var/lib/docker
networks:
- gitlab_net
depends_on:
- gitlab
вот фулл докер компоуз если в падлу :
version: "3.5"
services:
gitlab:
image: gitlab/gitlab-ce:latest
hostname: "localhost"
restart: unless-stopped
environment:
GITLAB_OMNIBUS_CONFIG: |
external_url 'http://localhost'
gitlab_rails['gitlab_shell_ssh_port'] = 8822
gitlab_rails['initial_root_password'] = 'XXXXXX'
ports:
- "8000:80"
- "8822:22"
volumes:
- ./data/docker/gitlab/etc/gitlab:/etc/gitlab
- ./data/docker/gitlab/var/opt/gitlab:/var/opt/gitlab
- ./data/docker/gitlab/var/log/gitlab:/var/log/gitlab
networks:
- gitlab_net
dind:
image: docker:20-dind
restart: always
privileged: true
environment:
DOCKER_TLS_CERTDIR: ""
command: ["--storage-driver=overlay2"]
volumes:
- dind-data:/var/lib/docker
networks:
- gitlab_net
depends_on:
- gitlab
gitlab-runner:
image: gitlab/gitlab-runner:alpine
restart: unless-stopped
environment:
- DOCKER_HOST=tcp://dind:2375
# command:
# # Скачаем docker чтобы можно было увидеть какие есть контейнеры
# - apk update
# - apk add --no-cache docker
# - addgroup gitlab-runner docker
volumes:
- ./config:/etc/gitlab-runner:z
- ./data/runner/cache:/cache
- /var/run/docker.sock:/var/run/docker.sock
networks:
- gitlab_net
depends_on:
- gitlab
register-runner:
restart: "no"
image: gitlab/gitlab-runner:alpine
environment:
- REGISTRATION_TOKEN=glrt-RYRh6iL31dfOXqKbAvh3TG86MQpwOjEKdDozCnU6MQ8.01.170uysxvs
- CI_SERVER_URL=http://gitlab
command:
- gitlab-runner register
- --non-interactive
- --locked=false
# Имя для runner, обычно название такое же как у проекта
- --name="sq1"
- --executor=docker
# Url до своего gitlab сервера, тут он у нас в одной сети
- --url=http://gitlab
- --clone-url=http://gitlab
- --docker-image=docker:20-dind
- --docker-volumes=/var/run/docker.sock:/var/run/docker.sock
# Чтобы контейнре мог иметь сетевой доступ к контейнеру с gitlab
- --docker-network-mode=host
volumes:
- ./config:/etc/gitlab-runner:z
- ./data/dind/docker:/var/lib/docker
networks:
- gitlab_net
depends_on:
- dind
networks:
gitlab_net:
name: gitlab_net
volumes:
dind-data:
Была та же проблема с раннером. Помогло что-то из этого:
Изменил в docker-compose.yml
на
и выполнил
docker compose up --force-recreate -d