在docker中移植节点/ postgres应用程序

时间:2016-08-03 12:53:16

标签: node.js postgresql docker portforwarding

我开始使用docker,我正在尝试运行node / postgres应用程序。 当我使用docker-compose运行应用程序时,我得到以下输出:

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

构建完成没有错误但是run命令给出错误没有这样的服务:devoon / offerteportaal

我希望有人能指出我正确的方向。

编辑: 我在答案中使用了第二个选项并编辑了我的yml文件。
为了清楚起见,我将把它包含在问题中:
搬运工-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

1 个答案:

答案 0 :(得分:0)

您要么docker run -p 49160:3000 -d devoon/offerteportaal要么修改docker-compose.yml文件:

db:
  image: ...

myapp:
  build: .
  ports:
    - "49160:3000"

而不是docker-compose up -d