![](/img/trans.png)
[英]Unable to connect container port from localhost when network_mode: “bridge” (docker-compose)
[英]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.