Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在docker中添加主机重定向_Docker_Gitlab Ci - Fatal编程技术网

在docker中添加主机重定向

在docker中添加主机重定向,docker,gitlab-ci,Docker,Gitlab Ci,我在虚拟机中使用gitlab。我将与docker一起使用gitlab ci(在同一个VM中) 为了访问我的gitlab,我使用域git.local(重定向到我计算机上的VM,重定向到我VM中的127.0.0.1) 当我启动测试时,测试返回: 致命:无法访问“”:无法解析主机“git.local” 所以我的问题是:如何将git.local的重定向添加到容器IP?我看到docker的arg-h,但我不知道如何告诉gitlab使用这个参数。或者是一个配置,让docker使用容器dns 我看到: 但同样

我在虚拟机中使用gitlab。我将与docker一起使用gitlab ci(在同一个VM中)

为了访问我的gitlab,我使用域git.local(重定向到我计算机上的VM,重定向到我VM中的127.0.0.1)

当我启动测试时,测试返回:

致命:无法访问“”:无法解析主机“git.local”

所以我的问题是:如何将git.local的重定向添加到容器IP?我看到docker的
arg-h
,但我不知道如何告诉gitlab使用这个参数。或者是一个配置,让docker使用容器dns

我看到: 但同样的问题,我不知道如何添加参数:/。

根据,您可以尝试在GitLab CI runner中使用
额外的\u hosts
参数。 在
/etc/gitlab runner/config.toml
中:

[[runners]]
  url = "http://localhost/ci"
  token = "TOKEN"
  name = "my_runner"
  executor = "docker"
  [runners.docker]
    host = "tcp://<DOCKER_DAEMON_IP>:2375"
    image = "..."
    ...
    extra_hosts = ["localhost:192.168.0.39"]
[[runners]]
url=”http://localhost/ci"
token=“token”
name=“我的跑步者”
执行者=“码头工人”
[runners.docker]
host=“tcp://:2375”
image=“…”
...
extra_hosts=[“localhost:192.168.0.39”]

在本例中,当运行测试git的容器内尝试从本地主机克隆时,它将使用
192.168.0.39
作为此主机名的IP。

如果您想在docker use dns gen中使用dns,请按照以下简单步骤操作,通过此步骤,您可以将主机名分配给多docker容器。 1.首先通过发布此命令了解docker IP

/sbin/ifconfig docker0 | grep“inet”| head-n1 | awk{print$2}| cut-d:-f2

  • 现在注意输出ip和启动dns gen容器的时间(ps:不要忘记在53:53之前通过发出上述命令添加docker ip)
  • docker运行-分离\
    --名称dns gen\
    --发布dockerip:53:53/udp\
    --卷/var/run/docker.sock:/var/run/docker.sock\
    jderusse/dns gen

  • 最后一件事:在resolv.conf中注册新的DnsServer
  • echo“nameserver dockrip”| sudo tee--append/etc/resolvconf/resolv.conf.d/head
    sudo resolvconf-u

    现在,您应该能够在浏览器中访问docker容器:-

    希望它能起作用。。谢谢

    Shubhankit

    可能重复的