通过docker socket连接Gitlab和runner

机器:在Windows上的Docker工具箱

我试图让gitlab连接到一台机器上的docker中的所有gitlab容器。 我只需要gitlab在专用networking上运行。 我可以ping容器但不能连接它们

我一直在遵循以下文档:docs.gitlab .com / omnibus / docker / docs.gitlab .com / ce / ci / docker / using_docker_build.html#use-docker-socket-binding

首先我创build一个dockernetworking来链接容器docker network create –driver bridge isolated_nw

然后我用下面的命令启动我的gitlab容器:

docker run --detach \ --hostname gitlab.example.com \ --env GITLAB_OMNIBUS_CONFIG="external_url 'http://192.168.99.100/'; gitlab_rails['lfs_enabled'] = true; gitlab_rails['gitlab_shell_ssh_port'] = 10022" \ --publish 443:443 --publish 80:80 --publish 10022:22 \ --name gitlab \ --restart always \ --volume /srv/gitlab/config:/etc/gitlab \ --volume /srv/gitlab/logs:/var/log/gitlab \ --volume /srv/gitlab/data:/var/opt/gitlab \ --network=isolated_nw \ gitlab/gitlab-ce:latest 

我已经添加gitlab_rails['gitlab_shell_ssh_port'] = 10022和 – --publish 10022:22更改ssh端口号,因为它导致与工具箱的问题

我不想使用外部IP,所以我已经在它的地方192.168.99.100添加docker机IP

添加容器到networking--network=isolated_nw

所有这一切工作正常,然后我去gitlab,创build一个项目,然后去192.168.99.100 /pipe理员/ runners得到我的共享令牌

接下来我创build了我的gitlab亚军:

 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 \ --network=isolated_nw \ gitlab/gitlab-runner:latest 

添加容器到networking--network=isolated_nw然后运行命令来注册容器

docker exec -it gitlab-runner bash

 sudo gitlab-ci-multi-runner register -n \ --url https://172.18.0.3/ \ --registration-token gZcXLmkqpRxwzc-nysp1 \ --executor docker \ --description "My Docker Runner" \ --docker-image "docker:latest" \ --docker-volumes /var/run/docker.sock:/var/run/docker.sock 

--url我试过VM IP和isolated_nw IP我添加了令牌--registration-token gZcXLmkqpRxwzc-nysp1

我看不出我做错了什么,这是我得到的错误。

 ERROR: Registering runner... failed runner=REGISTRA status=couldn't execute POST against https://192.168.99.100/api/v4/runners: Post https://192.168.99.100/api/v4/runners: read tcp 172.17.0.3:36268->192.168.99.100:443: read: connection reset by peer ERROR: Checking GitLab compatibility... not-compatible reason=GitLab Runner >= 9.0 can be used ONLY with GitLab CE/EE >= 9.0 result=-1 runner=REGISTRA statusText=couldn't execute POST against https://192.168.99.100/api/v4/runners/verify: Post https://192.168.99.100/api/v4/runners/verify: EOF PANIC: Failed to register this runner. Perhaps you are having network problems