问题标签 [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.
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?
ruby-on-rails - 如何在保留所有者和权限的同时从数据容器挂载卷?
我正在使用 Fig 并尝试使用数据卷容器在 Rails Web 服务器和在另一个容器中运行的 Resque 工作人员之间共享上传的文件。为此,数据卷容器定义了一个/rails/public/system
用于共享这些文件的卷。Rails 和 Resque 进程以rails
用户身份在各自的容器中运行,这些容器都基于markb/litdistco
映像。fig.yml 看起来像这样:
当web
和worker
容器运行时,我可以在两者中看到/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 实例上运行它们。谢谢!
mysql - Docker + fig / compose + nginx + node.js + mysql + redis
我正在尝试在 Docker 多个容器上设置 Node.js 应用程序。我的应用程序目前在一个 Ubuntu DO 液滴上并使用:
- Node.js(表达 4)
- 应用程序数据库的mysql
- 用于键值存储的 redis
- 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
我使用这个简单的项目作为基础,虽然我的应用程序需要
docker - 使用 docker 定义和运行复杂应用程序的工具
当你在你的开发生命周期中使用 docker 时,你需要一些工具来定义和运行复杂的应用程序。实际上存在一些替代品,例如:fig、crane和最新的docker-compose。
我有无花果和起重机的经验,但最近我发现了一些 docker-compose 的参考资料,但我不知道为什么 docker group 在这个领域重新发明轮子。
使用 docker 在本地机器上运行复杂环境是更好的选择,例如:探索性测试、单元测试,或唤醒一组数据服务,如:postgres、redis、mongodb。
nginx - Docker 不会附加到图像
我有一个 fig.yml 文件,用于设置我的 docker 容器。我通过键入 ./fig up 来运行它然后它输出以下内容:
因此,一旦完成,一切都会启动并运行。我的问题是由于某种原因它没有附加到我设置的 nginx 容器上。docker ps 命令输出以下内容:
因此,memcache 映像、php 映像和 percona 映像都可以使用,但是没有应有的 nginx docker 映像。
下面是我设置 fig.yml 文件的方法,它基本上是启动所有内容的文件。有人对可能发生的事情有任何想法吗?请注意,我确实将守护程序设置为关闭,因此它不应该自动退出。
fig.yml 文件在这里:
还以为我会包含我的 nginx Dockerfile 以防万一我丢失了任何帮助非常感谢
Nginx Dockerfile
mysql - fig.sh 和 mysql 容器在停止服务后丢失所有数据
我有一个fig
如此不一致的设置,这让我发疯了。在停止服务和重新启动之间的随机时间,它会丢失创建的 mysql 数据。我尝试使用仅数据容器并将它们与指令链接volumes_from
甚至设置volumes
指令。昨晚我的电脑死机了,我不得不重新启动才发现在发出fig up
命令时我所有的 mysql 数据都丢失了。
我真的很喜欢编排事物的想法,而不必在本地安装 mysql 或 elasticsearch 等本地服务,但这种无法维护持久数据库的能力非常令人恼火。
我将 docker 和 fig 都更新到了最新版本,但没有任何成功。这是我的无花果配置,也许有人可以发现我做错了什么:
顺便说一句,我正在使用 mac,boot2docker
但我认为在 vagrant ubuntu 中尝试时也遇到了这个问题。
jenkins - 无法通过 fig 使用 jenkins 将卷附加到 docker
我尝试通过一个无花果配置设置 sonarqube 和 jenkins。但是不能通过詹金斯将卷附加到码头。有人可以帮忙吗?
这样容器可以正确运行:
图.yml:
这两个命令必须运行相同的詹金斯实例,但我有不同的实例
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
它来自动挂载我的卷,但它并没有像我希望的那样工作。
这是一张更清楚地展示我的问题的图片
caching - 阻止 docker 从缓存中创建图像
我遇到的问题是我进行了一些配置更改。我有一个 fig.yml 文件,它启动了我所有的 docker 镜像。所以我更改了必要的配置文件,但是当我这样做时 ./fig up 它只是重新创建每个 docker 映像。您可以使用什么命令让 docker 从 fig.yml 文件中重建没有缓存的图像?任何帮助将不胜感激。
docker - 我可以在 docker-compose 中使用 mem_limit 吗?如何?
docker-compose 支持 mem_limit 吗?我该如何测试它?
我有以下docker-compose.yml
如何证明容器实际上不超过 60 mb 的 RAM?
我在用:
- 码头工人 1.3.1
- 码头工人撰写 1.1.0