2015-07-16 2 views
1

Я запускаю OSX и Docker с помощью boot2docker.Редактирование Docker container FS с использованием Atom/Sublime-Text?

С моей точки зрения, boot2docker - это легкий дистрибутив linux, который управляет контейнерами докеров. У меня есть некоторые контейнеры Ubuntu, которые я использую для запуска и тестирования проектов, которые должны особенно хорошо работать в Linux.

Однако при каждом изменении небольшого кода из моего текстового редактора хоста мне требуется перестроить изображение и повторно запустить контейнер. Запустите приложение и подтвердите, что сделанное мной изменение ничего не сломало.

Есть ли способ открыть папку FS контейнера Docker в текстовом редакторе с моей главной машины? (a.k.a Удаленное редактирование?)

Есть ли кто-нибудь из вас, ребята, сделали это? Любые идеи будут потрясающими. Я думаю о настройке SFTP или SSHD в контейнере Docker, но я бы хотел, чтобы ваше мнение?

+2

Если вы не используете 'boot2docker' (например, при работе в Linux), стандартным решением является использование томов Docker для раскрытия файловой системы вашего хоста внутри контейнера. Я не знаю, что такое поддержка объема при использовании boot2docker, поэтому я не знаю, будет ли это соответствовать вашей ситуации. – larsks

ответ

3

Что я часто делаю, в разработке смонтировать исходный код приложения в его обычное место в volume. Затем я устанавливаю команду (или точку входа) контейнера в сценарий, который запускает его в «режиме разработки» (например, используя nodemon для приложения node.js, устанавливая RAILS_ENV=development в Rails и т. Д.).

Объемы do Работает на Mac OS X (и я полагаю, что Windows) под boot2docker или докер-машиной, с предостережением, что вам нужно работать где-то под домашним каталогом.

Для конкретного примера, вот a repository что я установил это в Ингредиенты:.

  1. script/dev мой «Dev-режим» точка входа. Он запускает основное приложение под nodemon.
  2. Когда я запускаю контейнер, я mount the source directory into the container as a volume и set script/dev as the command. (Я использую docker-compose здесь, чтобы начать и ссылку на вверх по течению зависимости, так что я могу сделать все, что в одной команде.)

С этими двумя вещами на месте, я могу запустить docker-compose up, внести изменения источника в любой редактор, который я выбираю на своем хосте, сохраняю файл и службу в контейнере автоматически перезагружает, чтобы внести свои изменения в силу. Presto!

+0

Извините за задержку в принятии ответа. Просто попробовал ваш подход на прошлой неделе, и он идеально подходит для моей ситуации. Спасибо за ответ! –

+0

Я не вижу файлы в папке, есть ли у вас видео –

Смежные вопросы