我在运行基于运行 java 进程(GoCD 服务器)的 alpine linux 的 docker 映像时遇到问题。java 进程本身尝试运行一些代码来在本地克隆 git 存储库,但是我遇到了Couldn't resolve host
异常。我尝试使用“git clone”从容器内手动克隆 git repo,没有问题。
此外,我可以在 docker 容器中通过运行ping my-service-url.com
没有问题来 ping 域,也可以从主机上 ping 到相同的结果。似乎java在解析名称时遇到了一些困难,但我不知道如何修复它。
我尝试使用RUN echo 'hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4' >> /etc/nsswitch.conf
. 我读了另一个可以解决它但没有运气的问题。整体Dockerfile
如下所示:
FROM gocd/gocd-server:v17.5.0
RUN echo 'hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4' >> /etc/nsswitch.conf
ADD json-config-plugin-0.2.jar /godata/plugins/external/json-config-plugin-0.2.jar
ENTRYPOINT ["/docker-entrypoint.sh"]
我在 AWS ECS 上运行,ipv4 转发设置为 1,网络模式为bridge
. 我的想法不多了。