2015-12-03 4 views
0

Я новичок в бродяжнике, используя 1.7.4 с VirtualBox 5.0.10 в Windows 7 и пытаясь выяснить, как его настроить и запустить контейнеры докеров, d, как, что, как так:Поставщик дозорных доспехов: создание и запуск против запуска

  1. Начните свой Docker хозяин, который уже инициализированный с последними инструментами докеров и сапогами с началом cadvisor контейнера - я получаю эту коробку от общедоступных williamyeh/ubuntu-trusty64-docker
  2. Если (например) контейнер mongo, который я хотел бы использовать, не был создан на хосте docker, просто создайте его (не начинайте его)
  3. В противном случае, если контейнер уже существует, то запустить его (не пытайтесь создать его)

С моей текущей настройки, с помощью поставщика Docker, после первого использования vagrant up, используя vagrant halt с последующим vagrant up будет производить эта ошибка:

Bringing machine 'default' up with 'docker' provider... 
==> default: Docker host is required. One will be created if necessary... 
    default: Docker host VM is already ready. 
==> default: Warning: When using a remote Docker host, forwarded ports will NOT be 
==> default: immediately available on your machine. They will still be forwarded on 
==> default: the remote machine, however, so if you have a way to access the remote 
==> default: machine, then you should be able to access those ports there. This is 
==> default: not an error, it is only an informational message. 
==> default: Creating the container... 
    default: Name: mongo-container 
    default: Image: mongo 
    default: Port: 27017:27017 
A Docker command executed by Vagrant didn't complete successfully! 
The command run along with the output from the command is shown 
below. 

Command: "docker" "run" "--name" "mongo-container" "-d" "-p" "27017:27017" "-d" "mongo" 

Stderr: Error response from daemon: Conflict. The name "mongo-container" is already in use by container 7a436a4a3422. You have to remove (or rename) that container to be able to reuse that name. 

Вот Vagrantfile я использую для Docker хоста:

# -*- mode: ruby -*- 
# vi: set ft=ruby : 

Vagrant.require_version ">= 1.6.0" 
VAGRANTFILE_API_VERSION = "2" 

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| 
    config.vm.hostname = "docker-host" 
    config.vm.box_check_update = false 
    config.ssh.insert_key = false 
    config.vm.box = "williamyeh/ubuntu-trusty64-docker" 
    config.vm.network "forwarded_port", guest: 27017, host: 27017 
    config.vm.synced_folder ".", "/vagrant", disabled: true 
end 

... и вот провайдер докер Vagrantfile:

# -*- mode: ruby -*- 
# vi: set ft=ruby : 

Vagrant.require_version ">= 1.6.0" 
VAGRANTFILE_API_VERSION = "2" 
ENV['VAGRANT_DEFAULT_PROVIDER'] = 'docker' 

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| 
    config.vm.synced_folder ".", "/vagrant", disabled: true 
    config.vm.provider "docker" do |docker| 
    docker.vagrant_vagrantfile = "../docker-host/Vagrantfile" 
    docker.image = "mongo" 
    docker.ports = ['27017:27017'] 
    docker.name = 'mongo-container' 
    end 
end 

ответ

0

Ну, я не уверен, что получил потеряются в моем окружении, но в то время перенастройки мою установку, я удалил и восстановил мою базу Docker хоста изображение, и с этого момента, vagrant up, а затем vagrant halt, а затем vagrant up провайдера docker работал точно так, как я ожидал.

Во всяком случае, этот вопрос уже поддерживается vagrant.