冲突.容器名称"/ gitlab-runner"已被容器使用

Chi*_*ung 2 gitlab docker gitlab-ci gitlab-ci-runner ubuntu-16.04

我正在按照本指南为我在Ubuntu 16.4上运行的GitLab服务器安装docker.

当我执行以下命令时:

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
Run Code Online (Sandbox Code Playgroud)

到现在为止还挺好.但是,当我运行下一个命令来注册本指南中的跑步者时:

docker run --rm -t -i -v /srv/gitlab-runner/config:/etc/gitlab-runner --name gitlab-runner gitlab/gitlab-runner register
Run Code Online (Sandbox Code Playgroud)

我一直收到消息:

docker:来自守护程序的错误响应:冲突.容器名称"/ gitlab亚军"已经由容器"b055ded012f9d0ed085fe84756604464afbb11871b432a21300064333e34cb1d"使用.您必须删除(或重命名)该容器才能重用该名称.

但是,当我跑去docker container list查看容器列表时,它是空的.

有谁知道如何解决这个错误?

Rek*_*vni 7

只是为了增加我的2美分,因为我最近也通过这些GitLab文档来使Docker GitLab转轮工作.

按照Docker映像安装和配置指南,它会告诉您启动该容器,但我认为这是一个错误,并且您希望在注册Runner之后执行此操作.

如果您确实运行:

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
Run Code Online (Sandbox Code Playgroud)

只需删除docker容器docker rm -f gitlab-runner,然后继续注册跑步者.

docker run --rm -t -i -v /srv/gitlab-runner/config:/etc/gitlab-runner --name gitlab-runner gitlab/gitlab-runner register
Run Code Online (Sandbox Code Playgroud)

这将注册跑步者,并将配置/srv/gitlab-runner/config/config.toml放在本地机器上.

然后你可以运行原始docker run:

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
Run Code Online (Sandbox Code Playgroud)

(注意,如果由于名称再次使用docker rm -f gitlab-runner而无效 - 再次运行命令 - 您将不会丢失gitlab-runner配置).

这将使用register命令中的配置设置来支持Docker gitlab-runner.

希望这可以帮助!