在docker语句中翻译vagrant语句

问题描述 投票:-1回答:1

我必须在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”是否是我的网络名称或后台方法的参数。

我很感激任何帮助

马蒂亚斯

docker vagrant vagrantfile
1个回答
0
投票

该特定行似乎会导致容器/ 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文件的例子)。

© www.soinside.com 2019 - 2024. All rights reserved.