问题标签 [docker-compose]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
2648 浏览

docker - Docker Storm 集群示例

有没有人看过https://github.com/wurstmeister/storm-docker

您究竟如何在集群上运行示例拓扑?

这可能是一个 docker 问题,但尽管该项目非常有用,但没有关于如何在其上运行 helloworld 拓扑的简单文档。

0 投票
2 回答
5066 浏览

docker - Docker Compose 不绑定端口

我的容器有以下 Dockerfile:

我构建了这个容器并使用docker run -i -t -p 8080:8080 -v /srv/source:/usr/src/app -w /usr/src/app --rm iojs-dev bash. Docker 将端口 8080 绑定到主机端口 8080,这样我就可以从我的客户端访问 iojs-application。一切正常。

现在我想用 docker-compose 启动我的容器,使用下面的 docker-compose.yml

当我现在运行时,docker-compose run webfrontend bash我无法访问主机上的 8080 端口。没有绑定端口。的结果为空,并且端口设置docker ports的结果也为空:docker inspect

0 投票
2 回答
6733 浏览

docker - “Docker-compose up”不会每次都拉取图像,它会重新创建拉取的图像

我有Dockerfile以下内容:

当我执行 adocker-compose up -d时,Docker 会拉取图像并执行这些步骤。

当我执行 adocker-compose stop并将其重新启动时,docker-compose 不会再次拉取最新的图像。这对我来说是个问题,因为我需要下载一个新图像。我这样做的唯一方法是炸毁 boot2docker vm 并重新开始。

0 投票
7 回答
120245 浏览

docker - 在 docker-compose 中使用主机 ip

我想创建一个能够在不同服务器上运行的docker-compose文件。

为此,我必须能够在docker-compose.yml的多个位置指定服务器的主机 IP 或主机名(所有容器都在其中运行) 。

例如,对于一个领事容器,我想定义其他领事容器如何找到服务器。

我显然不想硬编码 192.168.1.125 。

我可以使用 env_file :指定主机名或 ip 并在每台服务器上采用它,因此我将这些信息放在一个地方并在 docker-compose.yml 中使用它。但这只能用于指定环境变量,不能用于广告参数。

有更好的解决方案吗?

0 投票
3 回答
20271 浏览

docker - 与Docker Compose不同的env文件但相同的yml?

我发现我有多个环境(例如 test 和 prod)很常见,但我希望启动的 Docker 容器在两个环境中都是相同的。唯一的区别是我想使用env-file. 由于我有多个容器和它们之间的依赖关系,我想使用docker-compose。但是 afaik 我只能env-file在文件内部指定一个docker-compose.yml(参见docs)。如果是这种情况,那么我需要将我的原始文件克隆docker-compose.yml到两个不同的文件(一个用于测试,一个用于生产),只是为了指向不同的 env 文件。这意味着我必须维护两个docker-compose.yml文件而不是一个,如果我进行任何更改,我需要更新这两个文件。

这真的是按照设计吗?为什么docker-compose不让我指定--env-file什么时候做docker-compose upor docker-compose run

0 投票
4 回答
203318 浏览

docker - 将 --add-host 或 extra_hosts 与 docker-compose 一起使用

docker-compose用来运行一个测试环境,它由大约 5 个不同的容器组成。容器间链接和共享卷(volumes-from)工作得很好。我还将一些端口暴露给主机,效果很好。

我缺少的是一种将我的一些真实服务器链接到这个环境的方法,而无需硬编码 IP 地址。使用docker run,您可以使用--add-host在文件中添加另一行/etc/hosts。有没有办法用 docker-compose 做类似的事情?

0 投票
10 回答
26024 浏览

docker - Docker Compose to CoreOS

I'm currently learning Docker, and have made a nice and simple Docker Compose setup. 3 containers, all with their own Dockerfile setup. How could I go about converting this to work on CoreOS so I can setup up a cluster later on?

0 投票
30 回答
300658 浏览

docker - 无法从 docker-compose 连接到 docker

我在 Mac OS 10.8.5 上安装了 docker-machine 0.1.0 和 docker-compose 1.1.0。
docker-machine 运行正常,可以通过 docker-machine ssh 连接。

但是无法从 docker-compose 连接。

无法通过 http+unix://var/run/docker.sock 连接到 Docker 守护程序 - 它正在运行吗?

如果它位于非标准位置,请使用 DOCKER_HOST 环境变量指定 URL。

我的 Dockerfile 和 docker-compose.yml 在这里。

Dockerfile

码头工人-compose.yml

为什么无法连接?有任何想法吗?

0 投票
1 回答
4018 浏览

docker - docker-compose 和手动命令之间的区别

我正在尝试做的事情

我想在一个 docker 容器中运行一个 yesod Web 应用程序,链接到另一个 docker 容器中的 postgres 数据库。

我试过的

我有以下文件层次结构:

docker-compose.yml看起来像这样:

运行sudo docker-compose up要么根本无法启动 api 容器,要么同样经常出现以下错误:

但是,如果我运行sudo docker-compose database up &然后启动 api 容器而不使用 compose 而是使用

我可以export在文件中设置环境变量,docker-compose.yml然后手动运行yesod devel并在 localhost 上成功访问我的站点。

最后,如果我sudo docker-compose run api自己运行,我会获得第三种不同的行为。这似乎成功启动,但我无法在浏览器中访问该页面。通过运行sudo docker-compose run api /bin/bash,我已经能够探索这个容器,并且可以确认设置的环境变量docker-compose.yml都设置正确。

期望的行为

我想通过在后台运行数据库来获得结果,然后只需运行sudo docker-compose up.

问题

显然,我正在尝试的三种不同方法做的事情略有不同。但根据我对 docker 和 docker-compose 的理解,我希望它们本质上是等价的。请有人解释它们的不同之处和原因,如果可能的话,我如何才能达到我想要的结果?

0 投票
2 回答
76558 浏览

docker - 验证 docker-compose yml 文件

是否有任何简单的方法来验证 docker-compose 文件(docker-compose.yml又名fig.yml)的语法等,而无需正确运行 docker?

我正在尝试向我的构建/测试管道添加快速检查以验证我的撰写文件。