容器运行Gitlab-Runner时无法使用docker命令

容器运行Gitlab-Runner时无法使用docker命令


  • 系统版本:Ubuntu 7.4.0-1ubuntu1~18.04.1
  • Gitlab:9.5.9
  • docker:19.03.1

在容器中运行Gitlab-Runner:

参考官网地址:

https://docs.gitlab.com/runner/install/docker.html

这里没什么好说的,官方资料非常详细。

注册Gitlab-Runner:

参考官网地址:

https://docs.gitlab.com/runner/register/index.html

问题就出在这一步。

在初始注册完成后,我们还需要编辑config.toml,官网给出的本地挂载目录为:

/srv/gitlab-runner/config

我们在创建Gitlab_Runner容器的时候,可以自行定义。

将config.toml中volumes改为:

volumes = ["/var/run/docker.sock:/var/run/docker.sock", "/cache"]

这样在容器中装载/var/run/docker.sock,使构建的容器保存在宿主机本身的镜像存储中。

否则可能会报错误:

gitlab runner Cannot connect to the Docker daemon at unix ///var/run/docker.sock. Is the docker daemon running?

更多详细资料参考官网:https://docs.gitlab.com/runner/

以下是在Linux上手动安装GitLab Runner的步骤: 1. 首先,确保你的系统已经安装了Docker。你可以通过运行以下命令来检查Docker是否已经安装: ```shell docker --version ``` 2. 下载并安装GitLab RunnerDocker镜像。运行以下命令: ```shell docker pull gitlab/gitlab-runner:latest ``` 3. 创建一个GitLab Runner的配置文件。你可以使用任何文本编辑器创建一个名为`config.toml`的文件,并将以下内容复制到文件中: ```shell concurrent = 1 check_interval = 0 [[runners]] name = "My Runner" url = "https://gitlab.com/" token = "YOUR_REGISTRATION_TOKEN" executor = "docker" [runners.docker] tls_verify = false image = "alpine:latest" privileged = false disable_entrypoint_overwrite = false oom_kill_disable = false disable_cache = false volumes = ["/cache"] shm_size = 0 [runners.cache] Insecure = false ``` 请确保将`YOUR_REGISTRATION_TOKEN`替换为你的GitLab Runner注册令牌。 4. 运行以下命令启动GitLab Runner容器: ```shell 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 ``` 这将创建一个名为`gitlab-runner`的容器,并将配置文件和Docker套接字挂载到容器中。 5. 确保GitLab Runner已经成功注册到GitLab服务器。你可以在GitLab服务器上的项目设置中找到注册令牌,并将其替换为步骤3中的配置文件中的`YOUR_REGISTRATION_TOKEN`。 6. 现在,你已经成功地在Linux上手动安装了GitLab Runner。你可以在GitLab服务器上创建和管理CI/CD作业,并使用GitLab Runner执行这些作业。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值