问题标签 [fig]

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 投票
1 回答
66 浏览

php - docker/fig php 环境

我可以使用 php 容器从其他容器执行脚本吗?如果可以,我该怎么做或我做错了什么

Dockerfile:

来自 ubuntu:14.04

运行 apt-get update && apt-get install -y apache2

添加 docker/apache2/apache-config.conf /etc/apache2/sites-enabled/000-default.conf

添加 docker/hosts /etc/hosts

CMD /usr/sbin/apache2ctl -D FOREGROUND

图:

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 投票
3 回答
9529 浏览

docker - Docker Compose 循环容器链接

我正在尝试使用 docker 将我们的开发环境容器化。这包括 Google Appengine 项目以及最终托管在容器化 vm 中的 Google Compute 引擎中的服务的组合。

我们当前的开发环境引导脚本在 boot2docker 中启动了 elasticsearch 和 nginx,其他应用程序在 dev_appserver appengine 沙箱中的 localhost:{product port} 上运行。事实证明,这个过程很难管理和维护,因为它需要深入了解我们的应用程序如何通信。

docker-compose 检测到容器之间的循环依赖时出现错误。

cs 和 vbc 以及 aa 和 sr 之间的循环导入。

由于此配置仅适用于开发环境(mac osx),因此在将所有产品套件依赖项链接在一起时,是否有人对采用不同方法提出建议或想法。

docker-compose.yml 的一部分:

0 投票
1 回答
1685 浏览

docker - Docker/Boot2Docker/Fig + RabbitMQ 主机问题;pika.exceptions.AMQPConnectionError: [Errno -2] 名称或服务未知

我刚开始学习 RabbitMQ 和 Docker/Fig。我有一个非常简单的示例,其中包含 3 个无花果容器,每个用于 Rabbit 服务器、生产者和消费者。在/etc/hosts我已将 my 设置boot2docker ip为别名dockerhost

当我fig up -d使用 RabbitMQ 服务器时,一切正常;我可以打开浏览器并转到dockerhost:PORTNUM并访问 RabbitMQ 控制面板。

在我的 RabbitMQ 生产者中,我将连接主机设置为dockerhost

我的配置文件如下所示:

但是,当我fig up -d在 RabbitMQ 生产者上运行时,我收到一个连接错误:

boot2docker ip我可以通过直接输入 RabbitMQ 主机名而不是dockerhost别名来让 RabbitMQ 生产者正常工作:

上述更改使一切正常工作。

我的问题是如何让 RabbitMQ 生产者通过使用hostname = dockerhost而不是输入实际 IP 地址来工作?

更新

这是我的 RabbitMQ 服务器fig.yml,适用于dockerhost

这是我的 RabbitMQ 生产者fig.ymlDockerfile它不适用于dockerhost

0 投票
2 回答
520 浏览

docker - Docker 组合环境和路径

我正在尝试使用 Docker Compose 创建本地开发环境。我开始使用这个例子https://github.com/b00giZm/docker-compose-nodejs-examples/tree/master/03-express-gulp-watch,它的工作就像一个魅力。那里没问题。

但是,该示例中的结构过于简单,不适合我的需要。我计划在生产环境中使用 coreos 运行我的应用程序,所以我还需要一堆其他配置文件。这大致就是我更改上面示例的方式:

Dockerfile 用于实际应用程序,因为我想使用单独的 dockerfiles 进行生产和开发使用。

我还将 docker-compose.yml 更改为:

在这个“docker-compose build”正常之后,但“docker-compose up”没有。我收到一条错误消息,说找不到 gulpfile。在我的逻辑中,这是因为卷安装,它们不能像我假设的那样与父目录一起使用。

知道我做错了什么吗?或者我有这种情况的工作示例,请分享。

0 投票
2 回答
8402 浏览

docker - How to set/get the project name in docker-compose.yml

I'm trying to either set a docker-compose project name, or to be able to reference it within my config file. Is any of these possible?

The reason I'm asking is that I'm following this tutorial so I ended up with a docker-container.yml file that reads

Due to the image: myapp_web config, this will only work if the project name itself is myapp. This will be true if I'm working on a directory named myapp or if I use docker-compose -p myapp.

But as soon as someone changes the directory name, this will crash. I'd like to tell docker-compose to use a custom COMPOSE_PROJECT_NAME variable without having to pass the -p fancyname option.

Another way I could imagine would be to pass some kind of image: {$COMPOSE_PROJECT_NAME}_web in the yml file, but I'm really not sure this can be achieved.

Any idea?

0 投票
2 回答
1591 浏览

python - 如何将带有模块的目录导入 Python 路径,该路径是子文件夹中原始源的符号链接?

我正在尝试运行 docker 容器 child1 和 child2。假设我们有:

更新

我做了类似的事情

在 mod.py 做的时候,

有用;

但是当我这样做时来自 test1_dir>smfile.py

它会抛出 ImportError。

我想知道如何从该目录访问同一个模块?可以将 symlink_target_folder 导出到 PYTHONPATH 以某种方式解决。我已经做好了

导出 PYTHONPATH=$PYTHONPATH:/symlink_target_folder

这样`我可以从mody.py做

但我不认为这是由于 PYTHONPATH。只是 symlink_target_folder 和 mody.py 在同一个文件夹中。

我该如何解决这个问题?解决这个问题的更好方法是什么?我确实检查了这个

0 投票
2 回答
10657 浏览

docker - 了解 docker compose 中的端口和链接

根据我对 docker compose / fig 的理解,如果您不想将端口暴露给其他人,那么在两个服务/图像之间创建链接是主要原因之一。

像这里db不公开任何端口,只链接:

web是否认为db在其本地主机上运行?我会从网络中的脚本/程序连接到 localhost:5432(来自 postgresql 的标准端口)以获取数据库连接吗?

如果这是正确的,您如何将端口 5432 更改为 6432 而不暴露?我会在不同的端口上运行 postgresql 吗?

更新:

一些输入后有用的链接:

http://docs.docker.com/userguide/dockerlinks/

https://docs.docker.com/compose/yml/#links

0 投票
1 回答
754 浏览

python - 如何使用 fig 更新 docker 中的 pip?

似乎docker中的点子很旧:

我在机器上安装了 pip 6.1 的东西,但我认为那是旧的 dockers 版本。我不知道在哪里找到它,所以我可以拉和更新它。

0 投票
2 回答
1498 浏览

ruby-on-rails - Docker Compose:向链接服务公开环境变量

我正在使用 Docker Compose 来制作一个运行带有 Oracle 后端的 Rails 应用程序的容器。

Dockerfile 和 docker-compose.yml

在我的 Docker 容器尝试安装 ruby​​-oci8 gem 之前,这非常有效,它会查找一些特定于 oracle 的环境变量。

这些变量暴露在 oracle 容器的 Dockerfile 中

问题是,如何将 oracle 容器上的这个环境变量暴露给 web 容器?