基本上,我想通過使用mongodump和mongorestore將其與Docker一起旋轉後初始化一個mongo數據庫。 mongorestore失敗,因爲它無法連接到容器的主機名。任何幫助,將不勝感激。我試過localhost
,而且它也不起作用。如何在啓動Docker時連接到當前容器?
我Dockerfile:
FROM mongo
RUN mongodump --host merchdev02.bcinfra.net --port 27017 --db ap
RUN mongorestore --host $(hostname) --port 27017 --db ap
錯誤:
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" "build" "/mnt/docker_build_52c7cc3c5608022927f471820455e02b"
Stderr: Sending build context to Docker daemon 26.62 kB
Sending build context to Docker daemon
2014/09/12 12:32:46 The command [/bin/sh -c mongorestore --host $(hostname) --port 27017 --db ap] returned a non-zero code: 255
Stdout: Step 0 : FROM mongo
---> 37ee18fca8d2
Step 1 : RUN mongodump --host merchdev02.bcinfra.net --port 27017 --db ap
---> Using cache
---> 176612e279d2
Step 2 : RUN mongorestore --host $(hostname) --port 27017 --db ap
---> Running in 365bd8348ed1
2014-09-12T12:32:46.444+0000 warning: Failed to connect to 172.17.0.25:27017, reason: errno:111 Connection refused
couldn't connect to [5d533df6cbc4:27017] couldn't connect to server 5d533df6cbc4:27017 (172.17.0.25), connection attempt failed
我用流浪來引導多克。我Vagrantfile:
VAGRANTFILE_API_VERSION = "2"
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
config.vm.provider "virtualbox" do |v|
v.customize ["modifyvm", :id, "--natdnshostresolver1", "on"]
end
# Setup docker
config.vm.define "mongo" do |v|
v.vm.synced_folder "logs", "/var/log/mongodb"
v.vm.provider "docker" do |d|
d.vagrant_vagrantfile = "../host-vm/Vagrantfile"
d.build_dir = "."
d.ports = ['27017:27017']
d.remains_running = true
d.name = "mongo"
end
end
end
最後我的主機VM的Docker容器使用方法:
VAGRANTFILE_API_VERSION = "2"
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
config.vm.box = "hashicorp/precise64"
config.vm.provision "docker"
config.vm.provision "shell", inline:
"ps aux | grep 'sshd:' | awk '{print $2}' | xargs kill"
config.vm.network :forwarded_port, guest: 27017, host: 27017
end
你試過'mongorestore --host 127.0.0.1 --port 27017 --db ap'嗎? – 2014-09-12 17:01:58
@ BenWhaley是的。沒有運氣。 – 2014-09-12 17:56:05
你確定Mongo正在運行嗎?我不認爲這會是,它在Dockerfile – 2014-09-12 18:00:15