簡體   English   中英

使用 docker-compose 時無法從本地主機訪問 docker 容器端口

[英]unable to access docker container port from localhost when using docker-compose

我有一個非常基本的節點/快速應用程序,帶有一個 dockerfile 和一個 docker-compose 文件。 當我使用運行 docker 容器時

docker run -p 3000:3000 service:0.0.1 npm run dev

我可以 go 到 localhost:3000 並查看我的服務。 但是,當我這樣做時:

docker-compose run server npm run dev

我在 localhost:3000 上看不到任何內容,下面是我的文件:

Dockerfile

WORKDIR /usr/src/app
COPY package*.json ./
RUN npm install
COPY . .
RUN npm run build
EXPOSE 3000

docker-compose.yml

version: "3.7"
services:
    server:
        build: .
        ports:
            - "3000:3000"
        image: service:0.0.1
        environment:
            - LOGLEVEL=debug
        depends_on:
            - db
    db:
        container_name: "website_service__db"
        image: postgres
        environment:
            - POSTGRES_USER=user
            - POSTGRES_PASSWORD=pass
            - POSTGRES_DB=website_service

此外,終端/碼頭方面一切正常——沒有錯誤,服務運行良好,我只是無法訪問節點端點

tl;博士

docker-compose run --service-ports server npm run dev
// the part that changed is the new '--service-ports' argument

問題是缺少 docker-compose 運行參數--service-ports

來自這些文檔

第二個區別是 docker-compose 運行命令不會創建服務配置中指定的任何端口 這可以防止端口與已經打開的端口發生沖突。 如果您確實希望創建服務的端口並將其映射到主機,請指定 --service-ports 標志:

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM