Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/10.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容器_Docker_Dockerfile_Jaeger - Fatal编程技术网

链接docker文件中的docker容器

链接docker文件中的docker容器,docker,dockerfile,jaeger,Docker,Dockerfile,Jaeger,我在本地机器的docker容器中运行了一个 我创建了一个示例应用程序,它将跟踪数据发送到Jaeger。当从IDE运行时,数据被完美地发送 我已经将我的应用程序容器化了,现在我将它作为一个容器进行部署,但是只有当我使用--link jaeger链接两个容器(预期)时,通信才起作用 我的问题是: 有没有办法在我的Dockerfile中添加--link参数,这样在运行docker run命令时就不需要指定它?如果要保留两个单独的映像,就不可能在Dockerfile中执行此操作。如何提前知道要链接的容器

我在本地机器的docker容器中运行了一个

我创建了一个示例应用程序,它将跟踪数据发送到Jaeger。当从IDE运行时,数据被完美地发送

我已经将我的应用程序容器化了,现在我将它作为一个容器进行部署,但是只有当我使用
--link jaeger
链接两个容器(预期)时,通信才起作用

我的问题是:


有没有办法在我的Dockerfile中添加
--link
参数,这样在运行
docker run
命令时就不需要指定它?

如果要保留两个单独的映像,就不可能在Dockerfile中执行此操作。如何提前知道要链接的容器的名称/id

以下是两种解决方案:

  • 使用Docker编写。这样,Docker将自动将所有容器链接在一起
  • 创建一个
    网桥
    网络并添加所有要链接的容器。这样,您将具有名称解析,并且可以使用每个容器的名称联系它们

  • 如果要保留两个单独的映像,则不可能在Dockerfile中执行此操作。如何提前知道要链接的容器的名称/id

    以下是两种解决方案:

  • 使用Docker编写。这样,Docker将自动将所有容器链接在一起
  • 创建一个
    网桥
    网络并添加所有要链接的容器。这样,您将具有名称解析,并且可以使用每个容器的名称联系它们
  • 我建议您通过创建以下内容来使用:

    docker network create [OPTIONS] NETWORK
    
    然后使用--network=“network”运行 使用docker编写并相互链接 例如:

    我建议您通过创建以下内容来使用:

    docker network create [OPTIONS] NETWORK
    
    然后使用--network=“network”运行 使用docker编写并相互链接 例如:


    我只想补充一点,使用容器名作为主机名只适用于自定义Docker桥接网络。默认设置不支持此功能(作为安全预防措施)。我只想补充一点,使用容器名称作为主机名仅适用于自定义Docker桥接网络。默认设置不支持此功能(作为安全预防措施)。