我有一个在docker容器内运行的nodejs-mongo数据库应用程序。 我可以访问本地主机等...在本地服务器上暴露码头容器
但现在我想安装/部署这些容器在本地服务器上,以便我可以访问此应用程序以外的网络。 请注意我的服务器是Ubuntu 16.04.1 LTS(xenial)
另外我想从外部访问Db,以便我可以使用自定义脚本将数据发送到Db。
我是网络和Docker的新手。因此我很难理解需要做什么。任何指针将不胜感激
这里是泊坞窗,compose.yml
version: "2"
services:
web:
build: .
volumes: # Use this to mount app from local disk
- ./:/usr/src/app
ports:
- "8080:8080"
- "5858:5858"
entrypoint: node --debug=5858 app.js
links:
- mongo
mongo:
image: mongo
ports:
- "27017:27017"
这里是我的Dockerfile
FROM node:argon
# Create app directory
RUN mkdir -p /usr/src/app
WORKDIR /usr/src/app
# Install app dependencies
COPY package.json /usr/src/app/
RUN npm install
# Bundle app source
COPY . /usr/src/app
EXPOSE 8080
CMD [ "npm", "start" ]
通常的命令,我给我的开始容器docker-compose up --build -d
这里是docker ps
结果
"node --debug=5858 ap" 13 minutes ago Up 13 minutes 0.0.0.0:5858->5858/tcp, 0.0.0.0:8080->8080/tcp nodemongochart_web_1
"/entrypoint.sh mongo" 13 minutes ago Up 13 minutes 0.0.0.0:27017->27017/tcp nodemongochart_mongo_1
您的dockerfile和docker-compose.yml看起来很稳固,应该可以工作。你的本地服务器放置在哪里?你如何访问它? –
我已经配置了一台ubuntu机器。所以不知道它的设置。我正在使用ssh证书来访问它。如果有什么具体的东西知道这很有用,我可以问问谁给我这台机器 – katch