Я пытаюсь написать развертываемую научную среду данных, которая запускает контейнер Docker ubuntu/trusty64
. Кажется, что это нормально работает, но контейнер немедленно отключается. Следуя документам here Я пробовал передавать команды d.run
и d.cmd
без каких-либо успехов. Я хотел бы быть в состоянии сделать Vagrant эквивалент прохождения команды DockerVagrant + Docker: контейнер начал никогда не покидать «остановленное» состояние
docker run -i -t -p 8888:8888 continuumio/anaconda3 /bin/bash -c "/opt/conda/bin/conda install jupyter -y --quiet && mkdir /opt/notebooks && /opt/conda/bin/jupyter notebook --notebook-dir=/opt/notebooks --ip='*' --port=8888 --no-browser"
так, что я могу получить доступ ноутбук от localhost:8888
(я уже сделал что-то подобное с Apache HTTPD, следуя this guide). К сожалению, я просто не могу получить синтаксис для этого, любая помощь будет оценена.
Я включил свой файл HostVagrant и Vagrantfile ниже.
HostVagrantfile:
# -*- mode: ruby -*-
# vi: set ft=ruby :
# Specify Vagrant version, Vagrant API version, and Vagrant clone location
Vagrant.require_version ">= 1.6.0"
VAGRANTFILE_API_VERSION = "2"
# Create and configure the VM(s)
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
# Use Docker provisioner
config.vm.provision "docker"
# Workaround
config.vm.provision "shell", inline:
"ps aux | grep 'sshd:' | awk '{print $2}' | xargs kill"
# Assign a friendly name to this host VM
config.vm.hostname = "docker"
config.vm.box = 'ubuntu/trusty64'
config.vm.network "forwarded_port", guest: 8888, host: 8888
config.vm.synced_folder ".", "/vagrant"
end
Vagrantfile:
# -*- mode: ruby -*-
# vi: set ft=ruby :
# Specify Vagrant version and Vagrant API version
Vagrant.require_version ">= 1.6.0"
VAGRANTFILE_API_VERSION = "2"
ENV['VAGRANT_DEFAULT_PROVIDER'] = 'docker'
# Create and configure the Docker container(s)
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
config.vm.define "apache" do |a|
a.vm.provider "docker" do |d|
d.image = "continuumio/anaconda3"
d.name = "anacond3-container"
d.ports = ["80:80", "433:443", "8888:8888"]
d.remains_running = true
d.vagrant_vagrantfile = "HostVagrantfile"
end
end
end
Update Это результат я получаю при попытке запустить:
$ vagrant docker-run -i -t -p 8888:8888 continuumio/anaconda3 /bin/bash -c "/opt/conda/bin/conda install jupyter -y --quiet && mkdir /opt/notebooks && /opt/conda/bin/jupyter notebook --notebook-dir=/opt/notebooks --ip='*' --port=8888 --no-browser"
An invalid option was specified. The help for this command
is available below.
Usage: vagrant docker-run [command...]
Options:
--[no-]detach Run in the background
-t, --[no-]tty Allocate a pty
-r, --[no-]rm, Remove container after execution
-h, --help Print this help
сделал вы пытаетесь запустить 'бродяга докер -run -it apache -p 8888: 8888 continuumio/anaconda3 -/bin/bash -c "/ opt/conda/bin/conda install jupyter -y -quiet && mkdir/opt/notebooks &&/opt/conda/bin/jupyter notebook --notebook-dir =/opt/notebooks --ip = ' * '--port = 8888 --no-browser "' –
Я обновил вопрос с результатами этого – jhole89