gpt4 book ai didi

Docker 列表容器 - Gitlab Runner

转载 作者:行者123 更新时间:2023-12-02 21:05:01 24 4
gpt4 key购买 nike

我在我的 VPS 上使用 Gitlab Runner,而 gitlabrunner 在容器中运行。

我想知道是否有列出所有容器的命令一级的 .

当我的运行者找到一份工作并且我输入 docker ps我看到 转轮容器 列出。
但它应该在我的第一个 docker 容器中运行。

docker 如何区分这一点?

Output of <code>docker ps</code>

这是我的docker-compose.yml对于我的运行者:

version: "3"
services:
runner:
image: gitlab/gitlab-runner:alpine
restart: always
volumes:
- /home/adrien/runners/coretest/config:/etc/gitlab-runner
- /var/run/docker.sock:/var/run/docker.sock

和我的 config.toml :
concurrent = 1
check_interval = 0

[session_server]
session_timeout = 1800

[[runners]]
name = "My Docker Runner"
url = "https://gitlab.com/"
token = "<my-token>"
executor = "docker"
[runners.custom_build_dir]
[runners.docker]
tls_verify = false
image = "docker:stable"
privileged = false
disable_entrypoint_overwrite = false
oom_kill_disable = false
disable_cache = false
volumes = ["/var/run/docker.sock:/var/run/docker.sock", "/cache"]
shm_size = 0
[runners.cache]
[runners.cache.s3]
[runners.cache.gcs]

最佳答案

您正在使用 docker runner,它将 docker sock 安装在 runner 中,这让 runner 在主机的 docker 守护进程上运行新容器。 CI 作业不会在 coretest_runner_1 中运行容器; coretest_runner_1 的工作容器是接受来自 Gitlab 的作业,然后操纵主机的 Docker 守护程序来启动容器以在其中运行这些 CI 作业。您的 runner容器是您的 coretest_runner_1 的 sibling 容器,而不是它的 child 。

如果您希望 CI 作业在 coretest_runner_1 中运行容器,您需要将您的 runners.executor 更改为“shell”,以便它在与 gitlab-runner 守护程序(位于容器中)相同的上下文中运行(参见 executors doc )。

请注意,这意味着您的工作不会变得干净、孤立,并且可能会相互冲突。

关于Docker 列表容器 - Gitlab Runner,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58616993/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com