首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >maven-docker-plugin:如何获取容器ip地址

maven-docker-plugin:如何获取容器ip地址
EN

Stack Overflow用户
提问于 2017-02-25 23:28:51
回答 1查看 1.1K关注 0票数 0

我是新来的码头和制造8的maven-docker-plugin。我想使用两个容器进行一些集成测试,一个是部署了我的webapp,另一个是数据库。

更新:I可以使用以下命令运行两个容器:

代码语言:javascript
复制
docker run --name db -p 27017:27017 mongo
docker run --name as -p 8080:8080 --link db mycustom/wildfly /opt/jboss/wildfly/standalone/bin/standalone.sh -b 0.0.0.0 -Ddbhost=172.17.0.2 -Ddbport=27017

这是我使用的dockerfile:

代码语言:javascript
复制
FROM fpezzati/wildflyogm
ARG webapp
COPY $webapp /opt/jboss/wildfly/standalone/deployments/
EXPOSE 8080
CMD ["/opt/jboss/wildfly/bin/standalone.sh", "-b", "0.0.0.0"]

现在,我想使用fabric8 maven-docker-plugin运行这两个容器。此时,我必须弄清楚如何表达一个run命令,该命令能够使用maven-docker-plugin接受两个参数-Ddbhost=${dbhost} -Ddbport=${dbport},其中${dbhost}${dbport}应该是两个具有数据库容器ip地址和暴露端口的maven属性。如何像在手工示例中那样表示运行命令,并使用fabric8 maven-docker-plugin使我的get应用程序了解数据库ip地址?

更新:,我清理了我在pom.xml和dockerfile中所做的一些混乱。现在,我可以通过使用环境变量传递参数。剩下的唯一问题是,即使数据库容器被链接到webapp容器的<run>...</run>配置中,它也无法获得数据库容器的ip地址。

这是我的项目的pom。我用的是maven 3.3.9docker 1.12.5和制作8的maven-docker-plugin 0.19.0

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-03-06 07:32:18

好的我知道了。当您将容器A链接到容器B时,Docker将A作为主机名添加到Betc/hosts文件中。因此,您不需要计算容器的ip地址,只需使用它的名称即可。同样的情况发生在fabric8 maven-docker-plugin上,这是一个很棒的插件。

代码语言:javascript
复制
<links>
  <link>A</link>
</links>

要将A连接到BB,可以使用A:27017A的暴露端口上访问服务,因此在my pom中,我通过环境变量而不是容器A的ip地址传递字符串A,并将解决方案推送到github回购上。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42462876

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档