问题标签 [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 回答
18 浏览

fig - Build only option with Fig up

IU have the following fig.yml:

doc1: build: Dockerfile1 doc2: build: Dockerfile2

Dockerfile2 is build FROM Dockerfile1.

So when I fig up I want to

  • Build Dockerfile1 only (not run it)
  • Build and Run Dockerfile2

Is this possible?

0 投票
2 回答
1083 浏览

ruby-on-rails - 如何在保留所有者和权限的同时从数据容器挂载卷?

我正在使用 Fig 并尝试使用数据卷容器在 Rails Web 服务器和在另一个容器中运行的 Resque 工作人员之间共享上传的文件。为此,数据卷容器定义了一个/rails/public/system用于共享这些文件的卷。Rails 和 Resque 进程以rails用户身份在各自的容器中运行,这些容器都基于markb/litdistco映像。fig.yml 看起来像这样:

webworker容器运行时,我可以在两者中看到/rails/public/system目录,但是它由root两个容器中的用户拥有,并且目录的权限阻止rails用户写入该目录。

作为参考,有两个 Dockerfile 用于制作markb/litdistco容器。第一个定义了我用于本地开发的基础映像 ( Dockerfile):

这被标记为litdistco-base图像,然后我config/containers/production/Dockerfile用来生成我标记为markb/litdistco并在登台和生产中运行的图像。

谁能解释我如何让数据容器卷安装为rails用户可写的。我非常希望避免以 root 身份运行任何 Ruby 进程,即使在容器内也是如此。

在某些情况下,我还应该提到我正在 Mac OS X 上的 boot2docker 中的 Docker 中开发图像,然后在 Ubuntu 14.04 主机上的 Google Compute Engine 实例上运行它们。谢谢!

0 投票
2 回答
12830 浏览

mysql - Docker + fig / compose + nginx + node.js + mysql + redis

我正在尝试在 Docker 多个容器上设置 Node.js 应用程序。我的应用程序目前在一个 Ubuntu DO 液滴上并使用:

  1. Node.js(表达 4)
  2. 应用程序数据库的mysql
  3. 用于键值存储的 redis
  4. nginx 用于负载平衡并提供静态文件。

我需要对不同的部分进行 dockerize,显然每个容器都有一个,然后使用 Docker-Compose(以前称为 Fig)来简单地描述不同的容器并设置它们之间的链接。我对多容器方法不清楚。
一个用于 nginx
,一个用于 Node.js,我的 express 应用
一个用于 MySql
,一个用于 Redis

Docker-compose.yml 会是什么样子?我猜 nginx、mysql 和 redis 将是未经修改的官方图像?虽然 node.js 将有一个指向 Dockerfile 的构建指令,但它会注意到它基于 node.js 官方图像以及配置说明?例如,我将需要配置/提供 mysql 和 redis,这是否意味着每个都需要与自己的 Dockerfile 分开?

容器之间的链接方式是什么?使用卷将文件复制到其中,设置端口,调整主机文件以将 some.domain.com 映射到 nginx ip?

然后,我需要在全局范围内安装一些 npm 包,如 nodemon 和 PM2 并设置一些 cron 作业......(在 Node.js 容器上?)

这是初稿,如果能帮助我更好地理解这个新设置,我将不胜感激:

Docker-compose.yml

Dockerfile

我使用这个简单的项目作为基础,虽然我的应用程序需要

0 投票
1 回答
166 浏览

docker - 使用 docker 定义和运行复杂应用程序的工具

当你在你的开发生命周期中使用 docker 时,你需要一些工具来定义和运行复杂的应用程序。实际上存在一些替代品,例如:figcrane和最新的docker-compose

我有无花果和起重机的经验,但最近我发现了一些 docker-compose 的参考资料,但我不知道为什么 docker group 在这个领域重新发明轮子。

使用 docker 在本地机器上运行复杂环境是更好的选择,例如:探索性测试、单元测试,或唤醒一组数据服务,如:postgres、redis、mongodb。

0 投票
1 回答
2151 浏览

nginx - Docker 不会附加到图像

我有一个 fig.yml 文件,用于设置我的 docker 容器。我通过键入 ./fig up 来运行它然后它输出以下内容:

因此,一旦完成,一切都会启动并运行。我的问题是由于某种原因它没有附加到我设置的 nginx 容器上。docker ps 命令输出以下内容:

因此,memcache 映像、php 映像和 percona 映像都可以使用,但是没有应有的 nginx docker 映像。

下面是我设置 fig.yml 文件的方法,它基本上是启动所有内容的文件。有人对可能发生的事情有任何想法吗?请注意,我确实将守护程序设置为关闭,因此它不应该自动退出。

fig.yml 文件在这里:

还以为我会包含我的 nginx Dockerfile 以防万一我丢失了任何帮助非常感谢

Nginx Dockerfile

0 投票
0 回答
175 浏览

mysql - fig.sh 和 mysql 容器在停止服务后丢失所有数据

我有一个fig如此不一致的设置,这让我发疯了。在停止服务和重新启动之间的随机时间,它会丢失创建的 mysql 数据。我尝试使用仅数据容器并将它们与指令链接volumes_from甚至设置volumes指令。昨晚我的电脑死机了,我不得不重新启动才发现在发出fig up命令时我所有的 mysql 数据都丢失了。

我真的很喜欢编排事物的想法,而不必在本地安装 mysql 或 elasticsearch 等本地服务,但这种无法维护持久数据库的能力非常令人恼火。

我将 docker 和 fig 都更新到了最新版本,但没有任何成功。这是我的无花果配置,也许有人可以发现我做错了什么:

顺便说一句,我正在使用 mac,boot2docker但我认为在 vagrant ubuntu 中尝试时也遇到了这个问题。

0 投票
1 回答
295 浏览

jenkins - 无法通过 fig 使用 jenkins 将卷附加到 docker

我尝试通过一个无花果配置设置 sonarqube 和 jenkins。但是不能通过詹金斯将卷附加到码头。有人可以帮忙吗?

这样容器可以正确运行:

图.yml:

这两个命令必须运行相同的詹金斯实例,但我有不同的实例

0 投票
1 回答
1810 浏览

linux - Docker - 卷未在容器中安装最新文件

问题

当我在 Docker 中启动一个新容器时,我想挂载一个卷,以便我获得主机上任何文件的最新更新,并可以在我的容器中使用它们。但是,我发现 Docker 在构建映像时正在安装我的卷。我想要的是在创建新容器时安装卷。

因为我使用 Docker 来管理我的开发环境,这意味着每当我更新一小段代码时,我都必须重建我的开发环境 Docker镜像,这通常需要大约 20-30 分钟。显然,这不是我想要 Docker 提供的功能。

这是我用来构建开发环境容器的内容:


Dockerfile


无花果.yml


我还使用一个fig.yml文件来使其更容易构建。

要运行,我使用:fig build

要访问我的容器以编译我的源代码,我使用:docker run -it <container_id>

也许我的命令做错了什么?我不使用fig up,因为它不会给我一个交互式外壳,所以我docker run -it <container_id>改用它。我选择使用fig它来自动挂载我的卷,但它并没有像我希望的那样工作。


这是一张更清楚地展示我的问题的图片

在此处输入图像描述

0 投票
1 回答
1334 浏览

caching - 阻止 docker 从缓存中创建图像

我遇到的问题是我进行了一些配置更改。我有一个 fig.yml 文件,它启动了我所有的 docker 镜像。所以我更改了必要的配置文件,但是当我这样做时 ./fig up 它只是重新创建每个 docker 映像。您可以使用什么命令让 docker 从 fig.yml 文件中重建没有缓存的图像?任何帮助将不胜感激。

0 投票
4 回答
74272 浏览

docker - 我可以在 docker-compose 中使用 mem_limit 吗?如何?

docker-compose 支持 mem_limit 吗?我该如何测试它?

我有以下docker-compose.yml

如何证明容器实际上不超过 60 mb 的 RAM?

我在用:

  • 码头工人 1.3.1
  • 码头工人撰写 1.1.0