问题标签 [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.
docker - 挂载到主机目录的 docker 卷仅包含来自最后一个容器的文件
我正在启动多个链接容器。所有容器都将主机目录 /var/log/tipsi/ 挂载到同一个内部目录。我仅从最后一个容器中看到 /var/log/tipsi 中的文件的问题:
- tipsi_solr 和tipsi_erl 具有相同的文件集
- Tipsi_web 容器(最后启动的容器)看不到上面的文件,只能看到它自己的文件
- 主机目录仅包含来自 #2 (tipsi_web) 的文件
我正在使用图启动容器。这是使用的配置:
有趣的是 - lsof 显示了tipsi_erl pid 的缺失文件(在主机上启动):
但其他应用程序无法访问它们:
此外,我尝试在 Dockerfile 中为所有容器指定和删除 VOLUME 参数,但没有任何运气。任何想法为什么不显示这些文件?
python - 我是否总是需要重建 docker 才能安装新的 pip 包?
我注意到当我尝试使用 docker(主要是图)安装一个新的 pip 包时,它实际上并没有在系统上维护。我必须从 requirements.txt 重建和安装 pip 包
我尝试运行fig run web pip install django
并且看到包安装,但是每次我运行命令时它都会重新安装而不提示升级(所以我知道包安装没有坚持)
这只是Docker的继承设计吗?我很困惑为什么总是需要建造
mysql - Docker mysql主机没有特权
我正在尝试配置 nodejs 容器以连接到 mysql 数据库。
我的代码如下所示:
我正在使用标准的mysql容器。
我正在使用 fig 来启动容器。fig.yml 看起来像:
每次我尝试连接时,都会出现以下错误:
知道我做错了什么吗?我玩过wordpress,它似乎可以毫无问题地连接到同一个mysql db。
谢谢!
编辑 所以,我最终找到了答案。这个问题确实是一个特权问题。我运行了以下命令:
我能够访问数据库。
amazon-web-services - Mesos、Marathon、云和 10 个数据中心——如何相互交谈?
我一直在研究 Mesos、Marathon 和 Chronos 组合来托管大量网站。在我的脑海中,我应该能够在我的笔记本电脑中输入一些命令,然后等待大约 30 分钟以构建和部署这个东西。
我唯一的问题是,我的资源分散在多个数据中心、众多云帐户和大约 6 个本地位置。我看不出为什么我不能从我的笔记本电脑上控制它们——(当涉及到我的硬件时,我有严重的电源和控制问题!)
我认为我最好的方法是在云中构建大脑(动物园管理员和至少一个主人),然后添加单独的数据中心,但我还没有看到任何分布式集群的例子,其中并非所有节点都可以相互通信。
任何人都可以推荐一种方法吗?
google-app-engine - 重新构建在 docker 容器中运行的 Go (App Engine) 应用程序?
通常,当您使用 Go-Appengine 的goapp serve
命令运行 Go 应用程序时,会检测到文件更改并启动重新构建。
我目前正在尝试在 docker 容器中运行 Go-Appengine,并且当服务器正常启动时,文件更改不会启动重新构建。我该如何做到这一点?
根据我的个人经验,在检测到文件更改时,在 docker 容器内部和外部运行的 Django 项目的行为方式相同。
git - 如何为微服务构建精简的开发环境
我在考虑微服务架构,想知道人们是否有开发环境的最佳实践。
我的工作假设是每个微服务都将存在于它自己的 git 存储库中,以实现隔离和易于部署。我还假设每个开发人员都会创建他们正在处理的任何 repo 的分支。
我正在考虑的问题出现在您正在处理涉及多个微服务的问题时。例如,有一个缺陷会影响一个微服务以及它如何适当地使用另一个微服务。
假设 n 个项目涉及该缺陷,您将必须检查 n 个 git 存储库并将它们配置为一起工作。如果他们每个人都有一个 Vagratefile 和 Dockerfile,那么你最终会运行 n 个 VM。理想情况下,您只有 1 个 Vagrant VM,并且每个服务都只是同一 VM 中的一个新 Docker 实例。
带有 git 子模块的主仓库/项目可以工作。这样做的问题是,如果我们创建一个通用的主仓库/项目,那么子模块将指向上游而不是开发人员的分支。
我目前正在考虑一个具有一些配置、vagrant 和 fig 的主项目可能会成功。我目前正在考虑两种实现这种方法的方法。
- 提供具有一些默认值的配置,即 project_1 应位于 ../project_id 等
- 提供一个脚本,该脚本将根据用户的 github 帐户创建子模块,这将为用户的 fork 以及上游项目创建远程。
有没有其他人解决了这个问题或有一个好的工作流程?
nginx - Boot2Docker/Fig 挂载的卷不刷新
我正在使用 fig 通过 boot2docker 主机 vm 挂载我的 OS X 目录。我正在使用已经提供的用户目录。尝试以下操作:
/code/Tryme.txt - “你好”
- 卷:/用户//代码:/代码
- 启动 nginx 服务器并从 /code 提供代码。
- 通过nginx获取文件:内容为“Hello there”
更改 Tryme.txt 的内容 - “Hello foobar”
当您再次获取文件时,您会得到原始文本:“Hello there”
那么我错过了什么?有任何想法吗?如果我将容器取下并重新启动,文件就是它应该的样子。当我输入图像时,文件也会更改。
想法?
谢谢。
更新:我在提供文件的应用程序代码中也看到了这一点,但它仍然没有改变。我希望这是一个快速周转的开发环境,但它似乎不像预期的那样工作。
docker - 如何将同级目录添加到 Docker 映像
有没有办法将兄弟目录复制到我的 docker 映像中,即类似于
ADD ../sibling_directory /usr/local/src/web/
这是不允许的——根据 Docker 文档,我的 Dockerfile 可访问的所有资源都必须位于 Dockerfile 工作目录下。
在我的场景中,我正在从一个公共代码库中将工作服务从 Web 服务中分离出来,我想先在逻辑上这样做,而不必实际物理分离代码。
vagrant - 在 Windows 上创建 docker 容器
因此,启动并运行 boot2docker 并从 Docker Hub 拉取容器在 Windows 环境中是没有问题的。但是如果我想创建一个容器并运行它,我该怎么做呢?我已经阅读了有关使用 fig 的信息,但是 fig 是通过 Windows 还是从容器安装的?我曾尝试从容器中执行此操作,但通常会导致权限错误,甚至 CHOWNing 文件夹也不能解决无法在容器中调用 fig 的问题。
甚至可以通过 Windows 上的 Boot2Docker 运行 docker 作为开发环境吗?还是我应该只使用 Vagrant 作为主机虚拟机并在其中使用一堆 docker 容器?
只是一些澄清和方向将不胜感激。
django - 使用 docker/fig 运行 Django 开发服务器时,为什么隐藏了一些日志输出?
我正在编写一个 Dockerfile,它需要作为指令的一部分运行多个命令CMD
,我认为正确的方法是运行一个 shell 脚本,主守护进程通过exec
. 不幸的是,作为该过程的一部分,我的一些输出(stdout?stderr?我不知道,也不知道如何找出)丢失了。
这是shell脚本:
这个想法是migrate
命令只运行一次并显示其输出,然后runserver
命令应该接管并且容器运行直到该进程退出。
实际问题是migrate
正确显示的输出,但没有显示的立即输出runserver
。奇怪的是,稍后的请求记录runserver
显示得很好。
为了澄清,这是我期望的输出:
这是我得到的fig up
:
我什至不确定这是谁的错。该命令是否会runserver
根据其运行方式更改其输出?有问题exec
吗?是码头工人/无花果吗?
作为一个额外的数据点,我注意到在运行容器时我确实得到了所有输出fig run web
,但当我这样做时却没有fig up
,但我不明白这有什么不同或相关。
注意:抱歉标签垃圾邮件,一旦我知道实际导致这种效果的原因,我会减少标签。