Итак, моя цель здесь состоит в том, чтобы Vagrant развернул мне виртуальную машину, которую я мог бы использовать в качестве среды разработки веб-приложений rails. Я очень, очень новичок в Vagrant, Docker и т. д. и хотел проверить, имеет ли это вообще смысл:
Должен ли я создавать один образ Docker или два? Я думал, что один образ будет для rvm, ruby и rails, а другой — для Apache.
Целью было бы что-то, что можно было бы распространить среди нескольких человек, которые затем легко настроили бы точно такую же среду.
Вот мой текущий Vagrantfile:
VAGRANTFILE_API_VERSION = "2"
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
config.vm.box = "phusion/ubuntu-12.04-amd64"
config.vm.network "forwarded_port", :guest => 80, :host => 5000
# Share the docker configs
config.vm.synced_folder "./docker", "/docker"
config.vm.provision "docker" do |d|
d.build_image "-t me/rvm-dev /docker/rvm-dev"
d.run "me/rvm-dev"
end
config.vm.host_name = "coursera-rail.dev"
config.vm.network :forwarded_port, guest:80, host:8080
end
И вот мой текущий (вероятно, неправильный) Dockerfile (в стороне, я пытаюсь найти хорошее руководство по созданию учетной записи пользователя «docker», поэтому я не запускаю все как root)
## Dockerfile
FROM ubuntu:latest
RUN apt-get update
RUN apt-get upgrade -y
RUN apt-get install -y curl
RUN mkdir -p /tmp/downloads
## Install RVM, Ruby, Rails
RUN cd /tmp/downloads
RUN \curl -L https://get.rvm.io | bash -s stable --ruby --rails
Наконец, приведенное выше работает, и если я использую бродячий ssh, я могу зайти на свою виртуальную машину, но, очевидно, я не могу использовать RVM, не выполнив docker run -i -t me/rvm-dev и не получив оболочку с докером. Это должен быть рабочий процесс?
RUN apt-get upgrade -y
она может сломать предыдущие образы. docs.docker.com/articles/dockerfile_best-practices/ - person Yser   schedule 26.11.2014docker exec -it <docker-container-id> /bin/bash
соответствует вашим потребностям? Если нет, можете ли вы более подробно описать, чего вы хотите достичь? Каким должен быть результат? - person Yser   schedule 26.11.2014