Ubuntu + Vagrant + docker compose 不使用 Virtualbox

标签 ubuntu docker vagrant docker-compose

嗨,

我一直在 Windows PC 上使用 Vagrant + Docker 和 Virtualbox。
几周以来,我将注意力转向了 Ubuntu 16.04 LTS,并开始将我的 Vagrant 东西迁移到我的新硬件上。

一些 Vagrants 在我的旧 PC 上使用 docker-compose。现在,在 Ubuntu 上,我想直接使用 Docker 和 Docker-compose,而不需要 Virtualbox。
当然,我可以忘记 Vagrant 并直接使用 Docker compose,但我更喜欢通过 Vagrant 监控每个环境,以保持同质性。

我找不到有关如何在这个新上下文中使用“docker compose”的信息(Ubuntu 16 + Vagrant:prodiver = Docker 和 Provisionner = 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 说

"he container started either never left the "stopped" state or very quickly reverted to the "stopped" state. ..."



事实上:我不明白我必须在哪里指出我的 docker-compose.yml 文件的路径....

你可以帮帮我吗 ?
你有一个线索,或者一个 tuto 的链接吗?
你能启发我思考解决问题的正确方法.... :[

问候 :)

最佳答案

首先,澄清一下,即使您使用的是 Ubuntu 并且 native 运行 Linux,dockerdocker_compose供应商(我假设 https://github.com/leighmcculloch/vagrant-docker-compose )仍将在 Vagrant VM 内运行。它没有在您的主机上使用 native Docker。

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

关于Ubuntu + Vagrant + docker compose 不使用 Virtualbox,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44892491/

相关文章:

mysql - 是否可以在 macOS 上只安装 mysqldump

已分配 Vagrant + Hyper V IPV6 地址

docker - 在groovy代码下实现时,文件描述符错误

ubuntu - 如何在 ubuntu 22.04 中使应用程序菜单图标变大

python - 在 Ubuntu 上的 Opera 中打开 jupyter notebook

c++ - 什么是 debian 打包过程中的 changelog.Debian.gz 文件?

docker - 有可能以最少的手动交互复制一个完整的Google Cloud项目?

vagrant - 使用 vagrant 1.4.3 从 vagrantcloud 添加框

SSH 卡在 client_input_global_request : rtype hostkeys-00@openssh. com want_reply 0

java - Windows XP 上 java 的逻辑字体 Monospaced 的 TrueType 字体是什么