1

WindowsマシンでDockerプロバイダーでVagrantを使用しようとしています。次のような Vagrantfile があります。

ENV['VAGRANT_DEFAULT_PROVIDER'] = 'docker'
Vagrant.require_version ">= 1.6.0"
VAGRANTFILE_API_VERSION = "2"
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
    config.vm.define "app" do |app|
        app.vm.provider "docker" do |d|
            d.name = "app"
            d.build_dir = "."
            d.vagrant_machine = "dockerhost"
            d.vagrant_vagrantfile = "./DockerhostVagrantfile"
        end
    end
end

次のような Docker ホスト定義:

Vagrant.configure("2") do |config|
    config.vm.synced_folder ".", "/vagrant", type: "smb"
    config.vm.provision "docker"
    config.vm.define "dockerhost"
    config.vm.box = "ubuntu/trusty64"
    config.vm.network "forwarded_port",
    guest: 8080, host: 8080
    config.vm.provider :virtualbox do |vb|
      vb.name = "dockerhost"
    end
end

そして、次のような Docker コンテナー:

FROM ubuntu:14.04

WORKDIR /vagrant/application
# .... install stuff
EXPOSE 8080

CMD ["/bin/bash"]

問題は、私がそうするたびにvagrant docker-run app -- bash、dockerimage を再構築する必要があり、プロセスに非常に時間がかかることです。

// ....
app: Sending build context to Docker daemon 180.5 MB
app: Sending build context to Docker daemon   181 MB
app: Sending build context to Docker daemon 181.6 MB
// ....

dockerhostこれは、内部のフォルダーがマウントされているためだと思いますvboxfs(これは非常に遅いことがわかりました)。

Vagrant の使用を強制する方法はありますsmbか?

パフォーマンスの問題は他に原因がありますか?

4

1 に答える 1