gpt4 book ai didi

docker - 使用容器进行DNS解析

转载 作者:行者123 更新时间:2023-12-02 18:23:20 26 4
gpt4 key购买 nike

我有一个从以下文件构建的Docker镜像。

FROM java:7
MAINTAINER Tushar Gandhi

ARG version
ENV version=$version
ARG port
ENV port=$port

RUN mkdir -p /cacheDir/services/live/prediction/p$port/$version/logs
RUN ls -tlr /cacheDir/services/live/prediction/p$port/

RUN mkdir -p /cacheDir/services/releases/prediction/p$port/$version/

RUN mkdir -p /cacheDir/services/predictionmodel
ADD target/predictionDependencies/* /cacheDir/services/predictionmodel/

ADD /target/prediction-0.0.13-SNAPSHOT.jar /cacheDir/services/releases/prediction/p$port/$version/prediction-0.0.13-SNAPSHOT.jar

ADD /target/instance.properties /cacheDir/services/releases/prediction/p$port/$version/instance.properties

ADD /target/logback.xml /cacheDir/services/releases/prediction/p$port/$version/logback.xml

RUN ls -ltr /cacheDir/services/live/prediction/p$port/$version/
RUN ls -ltr /cacheDir/services/releases/prediction/p$port/$version/
RUN ls -ltr /cacheDir/services/predictionmodel

ENTRYPOINT ["sh","-c","java -server -Xmx2g -Xloggc:/cacheDir/services/live/prediction/p${port}/${version}/logs/gc.log -verbose:gc -XX:+PrintGCDateStamps -XX:+PrintGCDetails -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/cacheDir/services/live/prediction/p${port}/${version}/oom.dump -Dlogback.configurationFile=/cacheDir/services/releases/prediction/p${port}/${version}/logback.xml -Dlog.home=/cacheDir/services/live/prediction/p${port}/${version}/logs -Dlogback.debug=true -Dbroker.l^Ct=sv-kafka6.pv.sv.nextag.com:9092,sv-kafka7.pv.sv.nextag.com:9092,sv-kafka8.pv.sv.nextag.com:9092,sv-kafka9.pv.sv.nextag.com:9092 -jar /cacheDir/services/releases/prediction/p${port}/${version}/prediction-0.0.13-SNAPSHOT.jar $port /cacheDir/services/releases/prediction/p${port}/${version}/instance.properties /com/abc/services/$ZK_PATH"]

我正在使用以下构建命令来构建镜像。
docker build --build-arg version=test1 --build-arg port=3001 -f Dockerfile -t prediction:test1 .

镜像创建成功,容器成功完成。使用运行命令
sudo docker run -p 7105:3001 -v ~/PredictionVolume/logs/:/cacheDir/services/live/prediction/p5030/Testing1/logs/ -e ZK_PATH=qa -t prediction:test

现在,问题出在我的应用程序在docker容器中运行时,它尝试访问URL qa-zk1.com:2181。此URL可从我的系统访问,但无法从docker容器访问。任何人都可以提出一种可以从容器访问URL的方法吗?

[编辑]我一直在尝试其他方法,发现可以ping google.com。这告诉我互联网正在运行。如果互联网可以正常使用,那么该URL也应该可以访问,但是不能访问,因此这似乎是DNS解析的问题。我尝试使用IP地址,并且能够正常访问该服务,现在我需要找出如何使用URL而不是IP地址来启用该搜索模式。

最佳答案

如果您可以通过IP到达站点,则意味着您在容器内部指向不知道“qa-zk1.com”名称的DNS服务器。

您可以选择2个选项:

  • 将您的IP添加到本地主机文件

  • /etc/hosts


  • 更新容器的DNS配置

  • 有关更多详细信息,请参见 Configure container DNS

    关于docker - 使用容器进行DNS解析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42265346/

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