Comments 21
Сделайте лучше docker-контейнер — это гораздо удобнее чем инструкция с картинками.
0
Картинки просто чтобы текст разбавить, вся нужная информация текстом идёт.
А что такое «docker-контейнер» — я не особо в курсе, не возникало такой необходимости (ну, знаю, что это какой-то вариант виртуальной машины, но не более).
А что такое «docker-контейнер» — я не особо в курсе, не возникало такой необходимости (ну, знаю, что это какой-то вариант виртуальной машины, но не более).
+1
Просто то что вы делаете вручную — это прошлый век :)
Гораздо полезнее оформить это в виде Dockerfile.
Автоматизация процесса развертывания, гарантия повторяемости результата + изоляция приложения от хост-системы.
Докер — это не «вариант виртуализации», это способ «упаковать» приложение и затем автоматически его разворачивать на любом хосте, где установлен докер (а сейчас он работает на любом современном linux-дистрибутиве).
Гораздо полезнее оформить это в виде Dockerfile.
Автоматизация процесса развертывания, гарантия повторяемости результата + изоляция приложения от хост-системы.
Докер — это не «вариант виртуализации», это способ «упаковать» приложение и затем автоматически его разворачивать на любом хосте, где установлен докер (а сейчас он работает на любом современном linux-дистрибутиве).
+1
Подскажите, где можно почитать доступно с примерами про docker?
+1
Так тут на хабре было очень много уже материалов на эту тему.
Один раз попробовав докер от него уже не отказаться.
Я, к примеру, даже сервер приложений 1С 8.2 и PostgreSQL с патчами 1С разворачиваю docker-контейнерами. Это очень удобно, потому что элементарно повторяемая установка — не нужно все делать вручную, один раз сделал Dockerfile, изоляция приложения — например Postgres-1С требует специфические версии библиотек.
А уже всякие специфические web-приложения, что требуют специфического окружения для запуска — тут докер просто спасение.
Представьте себе что вам нужно N разных версий Web-приложения 1С развернуть, например один боевой вариант и пару новых версий. Или например они выпустят модуль для Apache 2.4? Вам для теста придется разворачивать несколько машин, даже виртуальных.
С докером вы все это сделаете легко и непринужденно. и потом при миграции — опустите один контейнер, запустите другой.
Один раз попробовав докер от него уже не отказаться.
Я, к примеру, даже сервер приложений 1С 8.2 и PostgreSQL с патчами 1С разворачиваю docker-контейнерами. Это очень удобно, потому что элементарно повторяемая установка — не нужно все делать вручную, один раз сделал Dockerfile, изоляция приложения — например Postgres-1С требует специфические версии библиотек.
А уже всякие специфические web-приложения, что требуют специфического окружения для запуска — тут докер просто спасение.
Представьте себе что вам нужно N разных версий Web-приложения 1С развернуть, например один боевой вариант и пару новых версий. Или например они выпустят модуль для Apache 2.4? Вам для теста придется разворачивать несколько машин, даже виртуальных.
С докером вы все это сделаете легко и непринужденно. и потом при миграции — опустите один контейнер, запустите другой.
0
Только для начала надо понять, что это такое. Я читал несколько статей, но так и не понял, как этот докер использовать и где оно мне может пригодиться.
К примеру, как эти контейнеры с сетью общаются? На каждый контейнер виртуальная сетевая карта создаётся? Или надо их по разным портам растаскивать?
К примеру, как эти контейнеры с сетью общаются? На каждый контейнер виртуальная сетевая карта создаётся? Или надо их по разным портам растаскивать?
+1
Обычно используется NAT.
При запуске контейнера указывается какой порт контейнера на какой порт хоста нужно замапить.
Докер — это возможность «упаковать» приложение со всеми потребными библиотеками и обращаться с ним примерно как с единым исполнимым файлом. При том что внутри там может быть много чего.
Это сложно объяснить в двух словах, это другой уровень абстракции. Вместо того чтобы каждый раз париться с установкой чего-то — достаточно сделать правильную «инструкцию» в виде Dockerfile. Далее это приложение может быть собрано в виде контейнера автоматически, отправлено в репозиторий, скачано на другие машины (хоть на миллион), запущено и остановлено как единое целое.
Сам контейнер обеспечивает уровень изоляции наподобии виртуальной машины, но из-за отсутствия слоя виртуализации — падения производительности нет.
При запуске контейнера указывается какой порт контейнера на какой порт хоста нужно замапить.
Докер — это возможность «упаковать» приложение со всеми потребными библиотеками и обращаться с ним примерно как с единым исполнимым файлом. При том что внутри там может быть много чего.
Это сложно объяснить в двух словах, это другой уровень абстракции. Вместо того чтобы каждый раз париться с установкой чего-то — достаточно сделать правильную «инструкцию» в виде Dockerfile. Далее это приложение может быть собрано в виде контейнера автоматически, отправлено в репозиторий, скачано на другие машины (хоть на миллион), запущено и остановлено как единое целое.
Сам контейнер обеспечивает уровень изоляции наподобии виртуальной машины, но из-за отсутствия слоя виртуализации — падения производительности нет.
0
Ну ладно, допустим. Как это применимо к моему случаю? Надо опубликовать базу в вебе.
Мой вариант:
запустил виртуальную машину (само собой, никто её с нуля не ставил, просто достал образ с полки),
поставил нужный апач,
1С,
опубликовал базу.
Если надо опубликовать еще одну или ту же с другими настройками — редактируется vrd-файл и вставляется еще десяток строчек в конфиг апача. В корне вебсервера лежит скрипт, который показывает список опубликованных баз. Чтобы юзерам не приходилось рассылать ссылки.
Вариант с докером:
запустил виртуальную машину,
настроил там докер (у меня нет образа с настроенным докером),
поставил нужный апач,
1С,
опубликовал базу.
засунул в контейнер — а что именно засунул? По идее, у меня там должны быть апач и 1С. Ну если изолировать службу и зависимости. Ну или точнее, апач с подключенным модулем, файл default.vrd и строчка в конфиге.
Надо опубликовать еще одну базу или базу с другими настройками. Что делаю? Лезу в контейнер и меняю конфиги? Или делаю копию контейнера, лезу в копию и меняю конфиги?
Мой вариант:
запустил виртуальную машину (само собой, никто её с нуля не ставил, просто достал образ с полки),
поставил нужный апач,
1С,
опубликовал базу.
Если надо опубликовать еще одну или ту же с другими настройками — редактируется vrd-файл и вставляется еще десяток строчек в конфиг апача. В корне вебсервера лежит скрипт, который показывает список опубликованных баз. Чтобы юзерам не приходилось рассылать ссылки.
Вариант с докером:
запустил виртуальную машину,
настроил там докер (у меня нет образа с настроенным докером),
поставил нужный апач,
1С,
опубликовал базу.
засунул в контейнер — а что именно засунул? По идее, у меня там должны быть апач и 1С. Ну если изолировать службу и зависимости. Ну или точнее, апач с подключенным модулем, файл default.vrd и строчка в конфиге.
Надо опубликовать еще одну базу или базу с другими настройками. Что делаю? Лезу в контейнер и меняю конфиги? Или делаю копию контейнера, лезу в копию и меняю конфиги?
0
Вариант с докером более «индустриальный»
На локальной машине — поставил какой-нить убунту, в нее докер.
Написал Dockerfile, в нем явно описываются папки с данными например.
Далее на этой-же машине — собрал образ контейнера.
Написал команду docker-run (или использовал docker-compose например)
Что в результате — полностью повторяемое окружение. Можешь послать другу Dockerfile по почте. Или развернуть на реальном железе — все будет ровно так-же.
Хочется второй контейнер — просто запускаешь, передаешь скажем другие папки.
Вариантов масса, они выглядят сложными, но это только кажется.
В реальности выходит полностью само-документированная конфигурация и легко запускаемые контейнеры с приложением.
Я тоже долго думал-думал, а теперь даже не представляю зачем бы мне хотелось все это руками делать каждый раз.
На локальной машине — поставил какой-нить убунту, в нее докер.
Написал Dockerfile, в нем явно описываются папки с данными например.
Далее на этой-же машине — собрал образ контейнера.
Написал команду docker-run (или использовал docker-compose например)
Что в результате — полностью повторяемое окружение. Можешь послать другу Dockerfile по почте. Или развернуть на реальном железе — все будет ровно так-же.
Хочется второй контейнер — просто запускаешь, передаешь скажем другие папки.
Вариантов масса, они выглядят сложными, но это только кажется.
В реальности выходит полностью само-документированная конфигурация и легко запускаемые контейнеры с приложением.
Я тоже долго думал-думал, а теперь даже не представляю зачем бы мне хотелось все это руками делать каждый раз.
0
Всё равно ничего не понял. Теперь еще папки с данными появились.
Так что в контейнере-то лежит? Апач с модулем 1С? Просто апач? Конфиги и модуль 1С я отдельно снаружи держу?
Может и кажется, но я пока не вижу никакого упрощения в сравнении с реальной машиной. Только лишние слои абстракции.
Хочется второй контейнер — просто запускаешь, передаешь скажем другие папки.
Так что в контейнере-то лежит? Апач с модулем 1С? Просто апач? Конфиги и модуль 1С я отдельно снаружи держу?
Вариантов масса, они выглядят сложными, но это только кажется.
Может и кажется, но я пока не вижу никакого упрощения в сравнении с реальной машиной. Только лишние слои абстракции.
+1
Если вам надо 1 раз в жизни развернуть виртуалку под конкретную задачу и забыть про нее надолго, то докер конечно не нужен.
Современная манера пихать его везде где ни попадя есть зло.
Но вот если у вас задача не разовая, и инфраструктура требует стандартизации и повторяемости, то изучить стоит, контейнеры очень удобны в своей нише.
Современная манера пихать его везде где ни попадя есть зло.
Но вот если у вас задача не разовая, и инфраструктура требует стандартизации и повторяемости, то изучить стоит, контейнеры очень удобны в своей нише.
0
Ну может и не один раз в жизни, но это явно не ежедневная задача. Поставил, запустил, отладил, работает. Всё.
Если надо повторить или «отправить товарищу» — написал инструкцию, благо все шаги тут минут пять занимают, если не считать установку ОС и скачивание дистрибутива 1С.
Не вижу я тут места для докера. Тем более, что нет понимания, что вообще должно быть в предложенном контейнере…
В общем, я пока что очередной раз записал его в «девелоперские штучки» и убрал на дальнюю полку.Я старый солдат и не знаю… В смысле, я простой админ, а не разработчик. И пока что все слова на тему «а вот я познал докер и не понял как жил без него раньше» меня что-то не трогают. :)
Если надо повторить или «отправить товарищу» — написал инструкцию, благо все шаги тут минут пять занимают, если не считать установку ОС и скачивание дистрибутива 1С.
Не вижу я тут места для докера. Тем более, что нет понимания, что вообще должно быть в предложенном контейнере…
В общем, я пока что очередной раз записал его в «девелоперские штучки» и убрал на дальнюю полку.
0
Про тещу (жену): Ругается — значит работает.
0
Один вопрос, почему на ГикТаймс, а не на Хабре?
0
Не знаю. А есть разница?
Если разделили, значит хотят, чтобы на хабре было меньше контента.
Если разделили, значит хотят, чтобы на хабре было меньше контента.
0
UFO just landed and posted this here
А на гиктаймс тогда что?
Я вообще думал, что хабр решили оставить «для нормальных людей» — туда материалы, интересные потенциально всем. А на гиктаймс, наоброт, вынести специализированные вещи, которые интересны/полезны только гикам.
Я вообще думал, что хабр решили оставить «для нормальных людей» — туда материалы, интересные потенциально всем. А на гиктаймс, наоброт, вынести специализированные вещи, которые интересны/полезны только гикам.
0
C 8.3.8 появилась поддержка Apache 2.4
0
По мотивам этой статьи я как раз недавно всё обернул в Docker: github.com/pqr/docker-apache-1c-example
И сопроводил подробной статьёй-пояснением: infostart.ru/public/810851
И сопроводил подробной статьёй-пояснением: infostart.ru/public/810851
0
Sign up to leave a comment.
Публикация базы 1С на стороннем web-сервере