Meh*_*avi 5 gitlab docker gitlab-ci-runner
我是码头工人的新手。我使用以下命令运行 gitlab ce 容器:
docker run --detach --hostname localhost --publish 443:443 --publish 80:80 --name gitlab --restart always gitlab/gitlab-ce:latest
Run Code Online (Sandbox Code Playgroud)
这个容器工作得很好
我使用以下命令运行 gitlab-runner 容器:
docker run -d --name gitlab-runner --restart always gitlab/gitlab-runner:latest
Run Code Online (Sandbox Code Playgroud)
我的问题是当我想注册 gitlab-runner 时,跑步者问我:
Please enter the gitlab-ci coordinator URL (e.g. https://gitlab.com/):
Run Code Online (Sandbox Code Playgroud)
我的回答是:http://localhost:80/但它给了我错误:
ERROR: Registering runner... failed runner=K8trLPJx status=couldn't execute POST against http://localhost:80/api/v4/runners: Post http://localhost:80/api/v4/runners: dial tcp 127.0.0.1:80: connect: connection refused
PANIC: Failed to register this runner. Perhaps you are having network problems
Run Code Online (Sandbox Code Playgroud)
2 个容器在我的 Windows 10 电脑上运行
我不想在我的电脑上本地运行 gitlab-runner 我希望 docker 运行它
问题是两个容器之间缺少网络。您可以像这样手动创建它:
docker network create gitlab-network
Run Code Online (Sandbox Code Playgroud)
然后让您的容器使用以下命令加入它:
docker network connect gitlab-network gitlab
docker network connect gitlab-network gitlab-runner
Run Code Online (Sandbox Code Playgroud)
那么你可以作为 gitlab-ci 协调器 URL 传递gitlab,因为容器的名称是在 docker 网络上可访问容器的 dns。
另一种更优雅的解决方案是使用 来docker-compose管理容器和网络。类似这样的,我没有测试过:
version: '3.3'
services:
gitlab:
image: gitlab/gitlab-ce:latest
networks:
- gitlab-network
ports:
- 80:80
- 443:443
gitlab-runner:
image: gitlab/gitlab-runner:latest
networks:
- gitlab-network
networks:
gitlab-network:
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2805 次 |
| 最近记录: |