Jürgen
но выше 100 оно улетает тоже
так и правильно и будет улетать
Jürgen
так работает топ
Jürgen
%CPU -- CPU Usage : The percentage of your CPU that is being used by the process. By default, top displays this as a percentage of a single CPU. On multi-core systems, you can have percentages that are greater than 100%. For example, if 3 cores are at 60% use, top will show a CPU use of 180%. See here for more information. You can toggle this behavior by hitting Shifti while top is running to show the overall percentage of available CPUs in use.
🤔
да я вкурсе
🤔
сказал же
Jürgen
ну тогда к чему вопрос про 60 процентов ну нагжуен чуть если LA не улетает в потолок то и норм
🤔
просто показалось что демон сжирает больше чем должен
🤔
все ладно
Jürgen
просто показалось что демон сжирает больше чем должен
ничего не больше может и по 200 процентов есть через демона идет работа как бы
Anonymous
http://t.cn/EMlcdgX
Anonymous
Чето не могу разобраться... Вот например image wordpress ( https://hub.docker.com/_/wordpress/ ). Как понять по какому dockerfile он собирается? Мельком глянул сорцы ( https://github.com/docker-library/wordpress ), но все равно не могу понять по какому пути/алгоритму он собирается. Например, image wordpress:latest по каким Dockerfile будет собираться из этого гитхаб репозитория?
Anonymous
В корне там 3 файла: Dockerfile-alpine.template Dockerfile-cli.template Dockerfile-debian.template
Jürgen
В корне там 3 файла: Dockerfile-alpine.template Dockerfile-cli.template Dockerfile-debian.template
https://github.com/docker-library/wordpress/blob/acd229d6d638566a3ccd921d20075182db9e1185/Dockerfile-debian.template
Anonymous
https://github.com/docker-library/wordpress/blob/acd229d6d638566a3ccd921d20075182db9e1185/Dockerfile-debian.template
Как ты понял что именно это файл используется? Почему не Dockerfile-alpine.template, например?
Navern
собирается из докерфайлов в папках
Navern
(нужно смотреть .travis-ci)
Navern
для каждой из версий свой докерфайл
Jürgen
wordpress:<version>-alpine —> алпайн ттемплейт wordpress:<version> —> дебиан
Anonymous
потому что для алпайна будетт tag-alpine
Методом исключения? Чето не straightforward как-то
Anonymous
В риди написано 😂
Ну не. Я ожидал, что будет указано по какому dockerfile image собирается. Это совсем неочевидно
Aleksei
Ну не. Я ожидал, что будет указано по какому dockerfile image собирается. Это совсем неочевидно
Прямо на странице https://hub.docker.com/_/wordpress/ Кликаешь на версию, он открывает Dockerfile. Чтобы понять, какя версия по умолчанию - ctrl+f -> latest
Anonymous
Прямо на странице https://hub.docker.com/_/wordpress/ Кликаешь на версию, он открывает Dockerfile. Чтобы понять, какя версия по умолчанию - ctrl+f -> latest
Круто, спасибо. Удивлен что так небыстро получил ответ на такой простой вопрос. Наверное плохо сформулировал
Rustam
Кто-нибудь знает, как из контейнера постучаться на какой-нибудь порт с локалхоста? Как-то надо скормить адрес локально запущенного рсислога внутрь конфига одного сервиса
если хочется универсальности, то можно прям в контейнере брать айпишник шлюза. Приложение на хосте, разумеется, должно слушать на этом интерфейсе )
Rustam
в простейшем виде как-то так ENTRYPOINT /bin/sh -c "echo \"$(ip route|awk '/default/ { print $3 }') docker-host\" >> /etc/hosts && nginx -g 'daemon off;'"
Igorь
А k8s можно закастомить по самое нехочу? Типа включить 2 балансировщика, прописать одному из них, как перенаправлять запросы с одного контейнера на другой (не сервиса, а контейнера). При этом 90% сервисов - Stateful и Ceph не вариант из-за скорости.
Rustam
можно, но будет непросто ))
Igorь
примерно так же, как со свармом
Rustam
гибкости больше на порядки, но порог вхождения очень высок, как и накладные расходы на поддержку инфраструктуры. Имхо сворм подходит для небольших и не очень сложных проектов, а k8s - для больших и сложных
Rustam
просто свормовский подход к решению вашей задачи - для каждого логстеша сделать отдельный сервис, обеспечить запуск логстешей с компонентами приложения посредством ограничений (constraints). Что, конечно, не красиво и не слишком удобно
Rustam
есть вот такой костыль https://github.com/rycus86/podlike, но до прода он не дорос
Rustam
global нам обеспечит запуск таск на всех нодах, подходящих под ограничение. Но остаётся вопрос как нам объяснить приложению в кластере - например nginx - куда писать свои логи. Сам ищу красивое(масштабируемое, удобное) решение, но не находится (
Igorь
не. научить это делать можно. Не так сложно. Запускать логстеш не сервисом, а именно контейнером на каждой тачке нужно хотя бы для того, чтобы слушался локалхост, а не весь мир.
Rustam
ну вот в моём понимании это некрасивое решение, поскольку логстеши придётся деплоить отдельно
Rustam
так-то можно их конечно анзиблом раскатать и подставить костыль для получения хоста в контейнере
Igorь
да чем угодно их можно раскатать, но проще в том же сварме
Igorь
в смысле - иметь сервис, который подымает контейнеры
Igorь
А как приложению сказать, куда писать свои логи - не всегда проблема. Контейнеры в оверлейной сети находятся под балансировкой, не зависимо от того, сервисы это или нет. Если нескольким джинксам надо писать свои логи, пусть пишут в любой (то, что есть балансировка и она не оптимальна - это плата за устойчивость: если есть хотя бы один логстеш, то логи приходить будут). Либо можно писать логи в stdout, а демону докера сказать их перенаправлять в localhost:<LOGSTASH_PORT>
Никита
Добрый вечер. Вот есть у меня teamcity, который строит новый image для каждого нового коммита в git и пулит в локальный регистр. Понятное дело, что если каждый раз строить новый image, то все место быстро забьется. Есть ли у Docker какая-либо возможность сохранять 1 image, а далее только новые изменения или до каждого будет свой полновесный image?
Max xbim 🌴
стараться максимально переиспользовать одинаковые слои
Никита
Я пока что слабо разбираюсь в терминологии. Слои - это результат каждой команды в Dockerfile?
Max xbim 🌴
да тип того. одинаковые слои не дублируются в registry
Никита
да тип того. одинаковые слои не дублируются в registry
Хорошо. Не знаю как выразиться... А что на счет копирования каталогов в image? Он также будет это делать или просто возьмет результат предыдущего построения? Получается, что, если максимально делать слои изолированными и сохранять память, то копирования и построение проекта следует делать самыми последними шагами?
Navern
редко меняющиеся части в начало, часто меняющиеся части в конец
Никита
редко меняющиеся части в начало, часто меняющиеся части в конец
Еще такой маленький вопрос. А как мне заставить выполнить копирования проекта в image при отключенном флаге no-cache вместо взятия готового слоя? Или docker и сам сможет это определить?
꧁Aleksey
всем привет! мне для заббикс контейнеров требуется curl, но он в дефолтовом контейнере отсутствует, image был пересобран с исходников и добавлен curl...Вопрос в том, что в контейнере отсутствует rpm&yum, может кто-то подскажет, как можно решить вопрос без пересборки? спасибо
꧁Aleksey
имеется скрипт, в нём используется мной собранный образ , но при обновлении версии мне придётся вновь пересобирать образ для того, что б там был curl
꧁Aleksey
вот скрипт
꧁Aleksey
/usr/bin/docker run --restart=always \ --name mysql-for-zabbix -t \ -v /opt/zabbix/database:/var/lib/mysql \ -v /opt/zabbix/import:/tmp/import \ -v /opt/zabbix/flush:/tmp/flush \ -e MYSQL_DATABASE="zabbix" \ -e MYSQL_USER="zabbix" \ -e MYSQL_PASSWORD="zabbix_pwd" \ -e MYSQL_ROOT_PASSWORD="zabbix_pwd" \ -d mysql:5.7 \ --character-set-server=utf8 --collation-server=utf8_bin /usr/bin/docker run --restart=always \ --name zabbix-java-gateway -t \ -d zabbix/zabbix-java-gateway:latest /usr/bin/docker run --restart=always \ --add-host mainhost:/sbin/ip route | grep docker | awk '{ print $9}' \ --name zabbix-server-mysql -t \ -e DB_SERVER_HOST="mysql-for-zabbix" \ -e MYSQL_DATABASE="zabbix" \ -e MYSQL_USER="zabbix" \ -e MYSQL_PASSWORD="zabbix_pwd" \ -e MYSQL_ROOT_PASSWORD="zabbix_pwd" \ -p 10051:10051 \ --link mysql-for-zabbix:mysql \ --link zabbix-java-gateway:zabbix-java-gateway \ -v /opt/zabbix/scripts:/usr/lib/zabbix/alertscripts \ -d docker-registry.ego-cms.com:5043/zabbix/zabbix-server-mysql:centos-latest /usr/bin/docker run --restart=always \ --name nginx-proxy -t \ -p 80:80 \ -p 443:443\ -v /opt/zabbix/crt:/etc/nginx/certs \ -v /etc/nginx/vhost.d \ -v /usr/share/nginx/html \ -v /var/run/docker.sock:/tmp/docker.sock:ro \ -d jwilder/nginx-proxy /usr/bin/docker run --restart=always \ --name nginx-proxy-letsencrypt -t \ --volumes-from nginx-proxy \ -v /var/run/docker.sock:/var/run/docker.sock:ro \ -d jrcs/letsencrypt-nginx-proxy-companion /usr/bin/docker run --restart=always \ --name zabbix-web-nginx-mysql -t \ -e DB_SERVER_HOST="mysql-for-zabbix" \ -e MYSQL_DATABASE="zabbix" \ -e MYSQL_USER="zabbix" \ -e MYSQL_PASSWORD="zabbix_pwd" \ -e MYSQL_ROOT_PASSWORD="zabbix_pwd" \ -e "VIRTUAL_HOST=zabbix.ego-cms.com" \ -e "LETSENCRYPT_HOST=zabbix.ego-cms.com" \ -e "LETSENCRYPT_EMAIL=egostatuspage@gmail.com" \ --link mysql-for-zabbix:mysql \ --link zabbix-server-mysql:zabbix-server \ -d zabbix/zabbix-web-nginx-mysql:latest ##ZABBIXHOST=$( docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' zabbix-server-mysql ) ##sed -e "s/Server=.*/Server=${ZABBIXHOST}/g" -e "s/ServerActive=.*/ServerActive=${ZABBIXHOST}/g" -i.bak /etc/zabbix/zabbix_agentd.conf #service zabbix-agent restart
Tadeusz
прекрасное чтиво, осталось только обернуть в `
꧁Aleksey
файлик могу скинуть)))
꧁Aleksey
꧁Aleksey
Dan
файлик могу скинуть)))
Это надо было сразу сделать
Tadeusz
теперь поздно, ты забанен.
Dan
Нет конечно, но на будущее лучше такие куски кода отправлять либо в виде файлов, либо на pastebin какой-нибудь
꧁Aleksey
согласен
Andrey
подскажите как в docker изменить сеть? Сколь не ищу, все говорят проще новую создать.. Мне всего лишь проставить gateway на дефолтный бридж
manefesto
как можно нормально скопировать несколько папок в dockerfile? использую COPY auth assets /code/, но он копирует только содержимое, голову сломал уже
manefesto
Особенно вот это убивает Note: The directory itself is not copied, just its contents.
F_I_N
Ребята привет, понимаю изврат юзать доккер в винде, но политика есть политика. Короче вопрос - Все контейнеры поднимается, волум тоже подрубается норм. БД миграции накатывает, его сторадж натравлен на volume. Все работает, но данные на volume не остаются после остановки доккера. ТО есть каждый раз при старте БД пустое. В линуксе все ок, как бы все на волуме лежит и не пропадает, а тут какая та ms магия видимо. Может кто-то сталкивался и знает рецепт решения? Спасибо.
manefesto
я на 10ке проверял
manefesto
вроде норм
F_I_N
миграции норма накатываются я через PG admin лезу, все есть. Ну и если бы чисто в нем была проблема, то в линуксе бы тоже каждый раз миграции накатывались.
Max xbim 🌴
а на композ на линуксе идентичный?
F_I_N
да, сек
Igorь
А консул со свармом норм дружит?