Pull to refresh

Comments 19

> docker exec -it 04370a9e1c73 bash
> docker-php-ext-install pcntl
> docker commit -m «added pcntl ext» 04370a9e1c73 my-login/repo:php7-fpm

Вопрос от новичка — разве так можно? Ведь теперь образ не соответствует тому, что написано в Dockerfile. Что будет, если я завтра решу пересоздать образ из Dockerfile?
Я в таких случаях правлю докер-файл и перезапускаю контейнер. Но, это на этапе настройки.
Думаю автор здесь просто показал такую возможность, иначе бы он поправил это до публикации статьи в докер-файле:)
Да, спасибо)

Вопрос от новичка — разве так можно? Ведь теперь образ не соответствует тому, что написано в Dockerfile. Что будет, если я завтра решу пересоздать образ из Dockerfile?

Вы вернетесь к первоначальному состоянию.

А представьте, что те изменения, которые вы накатили — были не нужны? Снова изменте Dockerfile? — если изменений не много это будет легко, а иначе — посложнее.
Собственно я к тому, что «слоистая архитектура» докера тем и хороша, что при изменениях контейнера достаточно эти изменения закомитить (при необходимости вернуться на одно из предыдущих состояний) и там где еще используется этот контейнер нужно будет просто сделать пулл — в таком случае не нужно полностью собирать контейнер заново. Т.е. некая реализация vcs, а Dockerfile для первоначальной настройки.
Но как я уже писал — и только погружаюсь эту тему)

На самом деле, вся настройка должна происходить в DockerFile'ах и entrypoint.sh скриптах. Постнастройка образов после билда образов противоречит идеологии Docker

UFO just landed and posted this here
Да, вы совершенно правы, спасибо!
docker tag 2d6263b52380 my-login/repo:nginx
docker tag 2d6263b52380 my-login/repo:fpm

Тут небольшая ошибка. для fpm другой id контейнера.

И в догонку вопрос. Зачем вы указываете NGINX_HOST и NGINX_PORT если в nginx.conf они у вас уже прописаны вручную?
Как я понимаю, их имеет смысл прописывать если у вас специальный template для nginx.conf. И нужно будет использовать другую команду что бы эти значения заменить. ( command: /bin/bash -c «envsubst < /etc/nginx/conf.d/mysite.template > /etc/nginx/conf.d/default.conf && nginx -g 'daemon off;'»
)
А почему не используете Alpine для основы контейнеров? Он же гораздо легче. У меня крутится NextCloud и nginx именно на нем. Удалось сильно увеличить объём свободного пространства.
А вот можете пояснить что это такое? Я использую знакомые оси в качестве основы — ubuntu, debian. А этот alpine он кто такой? Тоже deb-based?

Мелкий образ линукса для почти всего. образы убунт и прочих центосей — 300+ метров влегкую..

Насчёт мелкого как раз понятно — я к тому как его готовить? Я люблю и уважаю CentOS, работая с Docker в принципе не проблема начать работать с deb-based дистрибутивами. Но под alpine не придётся ли переучиваться? Я всё-таки разработчик, а не сисадмин…

Выучить команду "обновить ось" и "поставить пакет такой-то"? По моему больше ничего не надо.
весь end user/server софт что под гентой, что под слакой, что под фрями давно ничем не отличается — бд, ни веб сервера и почтовые везде одинаковы.

Не придется, это просто очень легкая сборка линукса.

Спасибо, кэп ) я alpine использую в новых образах, а старые решил не переводить
Немного непонятно наличие mongodb при наличии postgresql… Я о том, что Postgresql умеет то, что умеет mongodb — хранить и работать с JSON
Довольно частый микс! Из того, что встречал чаще всего: реляционка используется для структурированных данных с преимущественным чтением, а монгу частенько используют как свалку логов, она быстра на запись и не требует структуризации данных.
pg — для долговременного хранения структурированных данных, mongo — для кеша.

Новичковый вопрос. Столкнулся с тем, что в связке nginx+php-fpm в докере на osx получаю непонятную задержку порядка полутора секунд при каждом запросе. Googling StackOverlow не помог. Собственно, вот сам вопрос на SO — http://stackoverflow.com/questions/40832825/how-to-figure-out-what-slows-down-docker
Буду признателен, если чем-то сможете помочь.

Sign up to leave a comment.

Articles