【发布时间】:2017-03-21 13:54:58
【问题描述】:
如何在 docker 中部署平均堆栈应用程序?
我在 mongodb 连接中有错误。所以意味着堆栈 Web 应用程序没有响应。
这是我的步骤:
-
sudo docker pull crissi/airlineinsurance -
经过验证的图片
sudo docker images -
运行 mongodb 容器
sudo docker run -d -p 27017:27017 --name airlineInsurance -d mongo -
验证它正在运行:
sudo docker ps -l -
运行应用程序容器
sudo docker run -d -P crissi/airlineinsurance -
验证人:
sudo docker ps -l -
检查日志
sudo docker logs 8efba551fdc6
结果日志如下:
[nodemon] 1.11.0
[nodemon] to restart at any time, enter `rs`
[nodemon] watching: *.*
[nodemon] starting `node server.js`
Server running at http://127.0.0.1:9000
Server running at https://127.0.0.1:9030
/app/node_modules/mongodb/lib/server.js:261
process.nextTick(function() { throw err; })
^
MongoError: failed to connect to server [localhost:27017] on first connect
at Pool.<anonymous> (/app/node_modules/mongodb-core/lib/topologies/server.js:313:35)
at emitOne (events.js:96:13)
at Pool.emit (events.js:188:7)
at Connection.<anonymous> (/app/node_modules/mongodb-core/lib/connection/pool.js:271:12)
at Connection.g (events.js:291:16)
at emitTwo (events.js:106:13)
at Connection.emit (events.js:191:7)
at Socket.<anonymous> (/app/node_modules/mongodb-core/lib/connection/connection.js:165:49)
at Socket.g (events.js:291:16)
at emitOne (events.js:96:13)
at Socket.emit (events.js:188:7)
at emitErrorNT (net.js:1281:8)
at _combinedTickCallback (internal/process/next_tick.js:74:11)
at process._tickCallback (internal/process/next_tick.js:98:9)
[nodemon] app crashed - waiting for file changes before starting...
我已包含 DockerFile 供您参考
# Tells the Docker which base image to start.
FROM node
# Adds files from the host file system into the Docker container.
ADD . /app
# Sets the current working directory for subsequent instructions
WORKDIR /app
RUN npm install
RUN npm install -g bower
RUN bower install --allow-root
RUN npm install -g nodemon
#expose a port to allow external access
EXPOSE 9030
# Start mean application
CMD ["nodemon", "server.js"]
【问题讨论】:
-
这里没有足够的信息来帮助您。您至少应该包含错误消息以及如何启动容器。
-
报错信息显示mongodb连接失败..能否提供一些在docker中部署mean stack应用的文档...
-
正如我所说,您没有提供足够的信息来回答您的问题。也许它与您如何启动容器有关,也许它与您的连接字符串有关,也许它是其他东西。如果您想了解使用 Docker 部署节点应用程序的一般说明,请尝试 Google。
-
我已经提到了这些步骤。您可以从 DockerHub 中提取我的应用程序的映像作为 crissi/airlineinsurance ......请检查@ROMANARMY
-
您应该编辑您的问题以包含所有这些步骤。
标签: docker mean-stack