问题内容: 如果设置了环境变量,请说,然后在连接到固定字符串的入口点脚本中使用它,例如: 与作为环境varible的价值,我该怎么办呢?我尝试使用,但这似乎不起作用,因为它确实是正确的。 问题答案: 您正在使用ENTRYPOINT 的 exec形式 。与 shell表单 不同, exec表单 不会调用命令shell。这意味着正常的外壳处理不会发生。例如,将不会在$ HOME上进行变量替换。如果要进
问题内容: 我在这里需要支持来构建自己的mongo docker映像。 我有一个脚本列表,用于创建数据并将其插入MongoDB中,这些数据将在我的Dockerfile中调用,以提供具有默认集合和数据的Docker映像。 这是我的Dockerfile当前的样子: 我尝试了不同的选项来启动和停止mongod,并且总是两个失败之一,当前脚本会引发以下错误: 更新资料 @Matt回答后,我可以成功运行命令
问题内容: 该命令有一个发出很长行的子命令: 可以指示仅输出特定的列: 我希望能够说出来并为我增加论点。有没有很好的方法可以做到这一点? 我知道我可以说 但我宁愿保留该子命令。 我正在使用zsh作为我的外壳。 问题答案: 您可以包装一个检查特定子命令并传递其他所有内容的函数。(以下内容实际上不仅适用于zsh,而且适用于任何POSIX兼容的shell(zsh并不完全属于该类别)。 如果您想要一个更通
问题内容: 我一直在尝试在以前可以使用的各种文件上运行Docker构建,现在不再使用了。 一旦Docker文件包含要安装软件的任何行,它将失败并显示一条消息,指出未找到该软件包。 日志中显示的常见消息是 知道为什么不安装任何软件吗? 问题答案: 经过很多头痛后,我找到了答案。可以通过进行以下更改来修复: 取消注释以下行 重新启动Docker服务 删除所有已缓存无效DNS设置的图像。 重新构建,问题
问题内容: 我有一个Dockerfile将MySQL服务器安装在一个容器中,然后我开始像这样: 但是MySQL服务不会自动启动,我必须手动运行(从容器内部): 运行docker容器时如何自动启动MySQL服务? 问题答案: 首先,有一个 问题, 在您的: Docker映像不会保存正在运行的进程。因此,您的命令仅在阶段执行,并在构建完成后停止。相反,您需要使用或如下所示的命令在启动容器时指定命令:
问题内容: 我已经能够成功使用以下卷在Docker容器之间共享文件夹 但是我的问题是,这与在Dockerfile中使用命令之间有什么区别 我正在使用带有命令的图像,并且想知道如何与主机共享它。我已经使用上面的命令完成了此操作,但我不知道是否同时需要和和。 问题答案: 该命令将在您的容器中安装一个目录,并将在该目录中创建或编辑的所有文件存储 在容器文件结构外部的 主机磁盘上,绕过联合文件系统。 这个
问题内容: 假设我要结合这些命令 进入 并且想知道用vs 设置变量是否等效。 换句话说,Dockerfile中的这些命令之间有区别吗? 与 问题答案: 如问题684所示,图像之间将不会持续存在。(不要忘记,每个Dockerfile指令都会生成一个中间容器,并提交到中间映像中:该映像不会保留导出的值) 将: 从结果映像运行容器时,使用设置的环境变量将保留。 您可以使用查看值,并使用更改它们。 问题是
问题内容: 我有一个在前台运行Apache服务的容器。我希望能够从另一个外壳访问该容器,以便在其中“探查”并检查文件。目前,如果我连接到容器,则只能查看Apache守护程序,并且无法运行任何命令。 是否可以将另一个tty附加到正在运行的容器?可能,我可以利用Docker实际上只是包裹LXC容器这一事实吗?我已经尝试过了,但是看来只有一个tty可用,而那是一个运行apache守护程序的tty。也许有
问题内容: 我可以附加到docker进程,但是+ 不能与其分离。基本上停止了这个过程。 建议使用什么工作流程来运行流程,偶尔将其附加以进行一些更改,然后分离? 问题答案: 要在不退出外壳的情况下分离tty,请使用转义序列+ 后跟+ 。更多细节在这里。 此来源的其他信息: docker run -t -i→可以与docker attach 分离并重新连接 docker run -i→不能与分离; 会
问题内容: 我成功使用以下方法将其炮击到Docker容器中: 现在我需要编辑文件,并且里面没有任何编辑器: 如何编辑文件? 问题答案: 就像注释中一样,没有默认的编辑器集-奇怪- 环境变量为空。您可以通过以下方式登录到容器: 并运行: 或使用以下Dockerfile: 交付的Docker映像已修剪到最低限度-因此,发货的容器未安装任何编辑器。这就是为什么需要手动安装它的原因。 编辑 我也鼓励你看过
问题内容: 我有以下图像: 当我尝试删除其中之一时,我得到: 如何删除它们?为什么会有这样的冲突? 问题答案: 为了删除所有图像,请使用给定命令 为了删除所有容器,请使用给定命令 警告:这将破坏您的所有图像和容器。 将无法还原它们! 该解决方案由Techoverflow.net提供。
问题内容: 考虑: 我按 + 退出。 我想继续运行此容器,但发现不能。 唯一的方法是 我对吗?有没有更好的方法?(我正在使用docker 0.8.0。) 问题答案: 您可以在现有容器退出后重新启动,并且所做的更改仍然存在。
问题内容: 根据Docker文档,要构建自己的映像,您必须始终使用指令指定基本映像。 显然,Docker索引中有很多图像可供选择,但是如果我想构建自己的图像怎么办?那可能吗? 如果我理解正确,该映像是在Ubuntu上构建的,并且我想尝试使用Debian映像。另外,我想真正了解Docker的工作原理,该映像对我来说仍然是一个黑匣子。 编辑: 有关创建基本映像的官方文档 问题答案: 您可以看一下如何创
问题内容: 我使用第三方GUI(Synology Docker软件包)来设置Docker容器。但是,它的局限性使我需要从命令行运行容器。(我想映射另一个主机IP绑定端口) 现在,由于已经完成了许多设置,因此我想检索启动该容器的原始运行命令,然后可以将端口映射端口更改为新端口。例如。“ ” 我找不到这样做的方法,事件使用“ docker inspect”,没有提供此类信息。 请提供一些建议以解决此问
问题内容: 我以旧的方式使用Docker和卷容器: 但是现在我通过创建命名卷更改为新方法: 我将此新卷绑定到新的Jenkins容器。我只剩下一个文件夹,其中有我以前的jenkins容器的文件夹。(通过使用)现在,我要用该文件夹的内容填充新的命名卷。 我可以复制该文件夹的内容到吗? 问题答案: 您 可以 数据无疑直接复制到,但这样做你: 依靠对Docker主机的物理访问。如果您正在与远程docker