在docker-compose中运行命令
我正试图在Ubuntu 15.10的VPS机器上运行两个docker容器,并使用docker-compose
这件事。 一个容器是一个mongodb服务器,另一个容器运行我的web应用程序,用node.js / sails.js写成。
我在docker-compose.yml
编写了以下docker-compose.yml
以便docker-compose.yml
docker-compose up
将运行这两个容器。 我将Web应用程序挂载到Web应用程序泊坞窗容器中的目录/host
,并且想要执行端口映射3050:1337
(host:docker)。 为了运行web应用程序,我使用了command
标签并使用bash来更改目录并执行sails lift
命令,但是它不起作用。 我想我的下面的脚本是错误的:
MongoDB: image: mongo MyAPI: image: sailsjs-microservice:dev volumes: - /root/Code/node/My-API:/host command: bash -c "cd /host && sails lift" ports: - "3050:1337"
我感谢您的帮助
我没有看到你的sailsjs-microservice容器中的日志,但我认为你应该添加一个链接到你的mongo容器在你的API容器。
一种方法是将它添加到您的撰写文件中:
MyApi: links: - mongo:mongo
第一个mongo是你想要链接的图像的名字,第二个是别名,可以是db。 Docker会将容器的IP地址导出为一个环境variables,并且为此添加一个/etc/hosts
条目,以便通过连接到mongo:27017(其中mongo是组合中定义的别名)在服务代码中引用它文件和27017是默认端口)。
看看链接环境variables
MongoDB: image: mongo networks: - myApi-tier MyAPI: image: sailsjs-microservice:dev volumes: - /root/Code/node/My-API:/host command: bash -c "cd /host && sails lift" networks: - myApi-tier networks: myApi-tier:
你可以尝试使用networking,现在在你的服务里面parsingmongodb你可以使用标准端口和uri MongoDB一样。
- Docker撰写,反应JS应用程序构build,以及如何传递给第一个nginx
- Docker:无法启动服务nginx
- docker集装箱中的“基础表或视图未find”错误
- Rails,Webpacker和Docker:不能分配请求的地址 – 连接(2)为:3035
- 是否有可能像在Windows 7中一样在窗口服务器中运行docker客户端?
- 使用rabbitmq docker镜像在rabbitmq.config中configurationssl
- docker工人:如何检索文件(由scrapy-splash创build)
- 与docker工人的Odoo例子组成没有工作
- boot2docker:port forwording通过Mac OS上的Web UI来pipe理火花工作者