Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
384 views
in Technique[技术] by (71.8m points)

Accessing localhost port of one docker container inside another docker container

I want to access service1 from inside of service2 container by using localhost:5432. How can do so?

This is what my docker compose currently looks like:

services:
  service1:
    image: postgres:12
    ports:
      - '172.10.1.1:5432:5432'
    expose:
      - '5432'
    environment:
      - POSTGRES_USER=project
      - POSTGRES_PASSWORD=pass
    volumes:
      - db_data:/var/lib/postgresql/data
  service2:
        build: .
        ports:
          - '172.10.1.1:1234:1234'

Please note I know i can access it by using service1:5432 or just service1. But I would like to use localhost if possible.

question from:https://stackoverflow.com/questions/65896761/accessing-localhost-port-of-one-docker-container-inside-another-docker-container

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

It is not possible, because each container has a own ip.

But there is a workaround: Set network to host. So the ports are open on hostmaschine and are accessible via 127.0.0.1. Not working on windows.

But I don't know any good reason why you like to use localhost for postgres? Are you trying to authenticate via localhost? Don't do that - use a password instead.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...