端口转发 docker 中的 node/postgres 应用程序
portforwarding a node/postgres application in docker
我开始使用 docker,我正在尝试 运行 一个 node/postgres 应用程序。
当我 运行 使用 docker-compose up 的应用程序时,我得到以下输出:
Starting nodedocker_db_1
Starting nodedocker_myapp_1
Attaching to nodedocker_db_1, nodedocker_myapp_1
db_1 | LOG: database system was shut down at 2016-08-03 08:33:02 UTC
db_1 | LOG: MultiXact member wraparound protections are now enabled
db_1 | LOG: autovacuum launcher started
db_1 | LOG: database system is ready to accept connections
myapp_1 | npm info it worked if it ends with ok
myapp_1 | npm info using npm@2.15.8
myapp_1 | npm info using node@v4.4.7
myapp_1 | npm info prestart NEXTofferte@0.0.1
myapp_1 | npm info start NEXTofferte@0.0.1
myapp_1 |
myapp_1 | > NEXTofferte@0.0.1 start /usr/src/app
myapp_1 | > node server.js
myapp_1 |
myapp_1 | Server running at http://localhost:3000/
很好,它正在运行,但我无法从我的系统访问 localhost 3000。
所以我尝试用这个转发它:
docker build -t devoon/offerteportaal .
docker-compose run -p 49160:3000 -d devoon/offerteportaal
构建完成且没有错误,但是 运行 命令给出了没有这样的服务的错误:devoon/offerteportaal
我希望这里有人能给我指出正确的方向。
编辑:
我选择了答案中的第二个选项并编辑了我的 yml 文件。
为了清楚起见,我将把它包含在问题中:
docker-compose.yml
db:
image: postgres
myapp:
build: .
ports:
- "49160:3000"
links:
- db
environment:
- PGHOST=db
- PGDB=offerteportaal
- POSTGRES_USER=postgres
- POSTGRES_PASSWORD=postgres
- DATABASE_URL=postgres://postgres:postgres@db:5432/offerteportaal
您需要 docker run -p 49160:3000 -d devoon/offerteportaal
或修改您的 docker-compose.yml
文件:
db:
image: ...
myapp:
build: .
ports:
- "49160:3000"
比docker-compose up -d
我开始使用 docker,我正在尝试 运行 一个 node/postgres 应用程序。 当我 运行 使用 docker-compose up 的应用程序时,我得到以下输出:
Starting nodedocker_db_1
Starting nodedocker_myapp_1
Attaching to nodedocker_db_1, nodedocker_myapp_1
db_1 | LOG: database system was shut down at 2016-08-03 08:33:02 UTC
db_1 | LOG: MultiXact member wraparound protections are now enabled
db_1 | LOG: autovacuum launcher started
db_1 | LOG: database system is ready to accept connections
myapp_1 | npm info it worked if it ends with ok
myapp_1 | npm info using npm@2.15.8
myapp_1 | npm info using node@v4.4.7
myapp_1 | npm info prestart NEXTofferte@0.0.1
myapp_1 | npm info start NEXTofferte@0.0.1
myapp_1 |
myapp_1 | > NEXTofferte@0.0.1 start /usr/src/app
myapp_1 | > node server.js
myapp_1 |
myapp_1 | Server running at http://localhost:3000/
很好,它正在运行,但我无法从我的系统访问 localhost 3000。 所以我尝试用这个转发它:
docker build -t devoon/offerteportaal .
docker-compose run -p 49160:3000 -d devoon/offerteportaal
构建完成且没有错误,但是 运行 命令给出了没有这样的服务的错误:devoon/offerteportaal
我希望这里有人能给我指出正确的方向。
编辑:
我选择了答案中的第二个选项并编辑了我的 yml 文件。
为了清楚起见,我将把它包含在问题中:
docker-compose.yml
db:
image: postgres
myapp:
build: .
ports:
- "49160:3000"
links:
- db
environment:
- PGHOST=db
- PGDB=offerteportaal
- POSTGRES_USER=postgres
- POSTGRES_PASSWORD=postgres
- DATABASE_URL=postgres://postgres:postgres@db:5432/offerteportaal
您需要 docker run -p 49160:3000 -d devoon/offerteportaal
或修改您的 docker-compose.yml
文件:
db:
image: ...
myapp:
build: .
ports:
- "49160:3000"
比docker-compose up -d