Ubuntu + Vagrant + docker组成,不使用Virtualbox

HY,

我一直使用Virtualbox在Windows PC上使用Vagrant + Docker。 自从几个星期以来,我已经将自己的思想转向了Ubuntu 16.04 LTS,并开始将我的Vagrant内容移植到我的新硬件上。

一些stream浪者在我的旧电脑上使用了docker-compose。 现在,在Ubuntu上,我想直接使用Docker和Docker-compose,而不使用Virtualbox。 当然,我可以忘记stream浪者,并直接与Docker合作,但我更愿意通过Vagrant监控每个环境,保持同质化。

在这个新的上下文中(Ubuntu 16 + Vagrant:prodiver = Docker和Provisionner = Docker compose),我找不到有关如何使用“docker compose”的信息。

有些链接显示“vagrant-docker-compose”插件的用法,但它对我不起作用。 我不明白为什么,但我认为这是合乎逻辑的,因为我直接在我的机器上使用Docker,没有使用VBox,而且每个示例都似乎指出您正在使用VBox。

我是否错误地解决了我的问题?

现在我的Vagrantfile看起来像这样(我试过其他的东西…没有更多的成功..):

Vagrant.configure(2) do |config| config.vm.provider "docker" do |docker| docker.image="ubuntu:16.04" docker.compose=true end config.vm.provision :docker config.vm.provision :docker_compose, rebuild: true, yml: "/direct/docker-compose.yml", run: "always" end 

但docker-compose.yml没有加载…. andd Vagrant说

“他的集装箱开始从未离开”停止“状态,或很快恢复到”停止“状态……”

事实上:我不明白我必须指出我的docker-compose.yml文件的path….

你可以帮帮我吗 ? 你有线索,还是链接到tuto? 你可以让我的头脑思考正确的方式来解决它….:

问候 :)

首先,为了澄清一点,即使你在Ubuntu上并且本地运行Linux, docker_composedocker_compose提供程序(我假设从https://github.com/leighmcculloch/vagrant-docker-compose )仍然会运行在Vagrant VM。 它没有在您的主机上使用本地Docker。

接下来,它所引用docker-compose.yml文件来自Vagrant机器内部。 通常,这是/vagrant项目的共享文件夹。 在这种情况下,假设docker-compose.yml文件位于Vagrantfile ,则ymlpath应该是/vagrant/docker-compose.yml