在docker语句中翻译vagrant语句

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在docker语句中翻译vagrant语句相关的知识,希望对你有一定的参考价值。

我必须在docker命令中翻译一个vagrant文​​件来设置测试服务器。我没有使用docker的经验,并且对于以下命令我找不到解决方案。

Vagrant.configure("2") do |config|

  config.vm.network(:forwarded_port, guest: 5432, host: 5432, host_ip: "127.0.0.1")

我试过像docker network create --gateway 127.0.0.1 forwarded_port这样的东西

但我发现无法设置端口,我不确定“forwarded_port”是否是我的网络名称或后台方法的参数。

我很感激任何帮助

马蒂亚斯

答案

该特定行似乎会导致容器/ VM中的端口转发到主机,它应该与选项docker run -p 127.0.0.1:5432:5432完全等效(其中这三个部分与您的Vagrant语句中的host_iphostguest匹配)。

请注意,Docker环境和典型用法可能与典型的VM设置不同。作为一个具体的例子,你通常不会尝试在应用程序的容器中运行PostgreSQL数据库;你将单独启动一个数据库容器并告诉你的应用程序。典型的命令行设置可能是

docker network create mynet
docker run -p 5432:5432 --net mynet --name db postgres:9.6
docker run -p 8080:8080 --net mynet --name app -e PGHOST=db myapp:20180914

Docker Compose是一个经常使用的工具,用于启动多个一起工作的容器(你可以通过阅读SO问题找到许多app +数据库docker-compose.yml文件的例子)。

以上是关于在docker语句中翻译vagrant语句的主要内容,如果未能解决你的问题,请参考以下文章

确定安装了哪些 NET Framework 版本

用于复杂 vhost 设置(if 语句等)的 Vagrant / puppet 配置?

编译原理—中间代码生成布尔表达式翻译短路计算控制流语句翻译条件语句循环语句

(翻译)《二》语言基础--控制流语句

SQL Select 语句的用法

编译原理—语义分析语法制导翻译翻译模式中间代码生成