如何从docker-compose获取docker生成的ip端口

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何从docker-compose获取docker生成的ip端口相关的知识,希望对你有一定的参考价值。

docker网络似乎无法正常工作,docker应该在指定容器名称时知道地址和端口,否则我会丢失什么?

是否有可能获得生成的IP端口,如:

docker-compose.yml

command: nsqd 
         --auth-http-address='host:docker inspect -f '{{(index 
         (index .NetworkSettings.Ports "80/tcp") 0).HostPort}}' some-image'

试图更改本地地址Im的--auth-http-address='0.0.0.0:80'在本地运行。

docker-compose.yml

services:
  service1:
    image: image_name
    command: nsqd --auth-http-address='authenticator'
  authenticator:
    image: some_image
    command: some server.py
    ports: - "80"
    container_name: authenticator

错误消息

错误:针对身份验证器地址身份验证器的身份验证失败:地址中缺少端口

答案

错误表明它也期望端口号。将docker-compose.yml中的命令更改为

 services:
  service1:
    image: image_name
    command: nsqd --auth-http-address=authenticator:80

以上是关于如何从docker-compose获取docker生成的ip端口的主要内容,如果未能解决你的问题,请参考以下文章

如何从env_file获取docker-compose的端口?

使用 nginx 将环境变量从 docker-compose 传递到 vue 应用程序

如何从 docker-compose.yml 更改 docker-compose.yml 中已安装卷的权限?

如何将环境变量从 docker-compose 传递给项目?

如何从 docker-compose 连接到 Host PostgreSQL?

通过主管和 docker-compose 从 django 输出彩色日志