Почтовый ящик.
.
docker требует докер-вей практически для любой задачи.
Хочешь полноценный сетевой интерфейс? - иди на хуй, портов хватит всем.
Хочешь поправить конфиг в контейнере? - криворукие долбоёбы, которые не могут написать конфиг с первого раза наказываются пересборкой контейнера, это больно, но только это научит тебя думать
Хочешь посмотреть что в контейнере когда он упал? - пащёл в жопу, контейнеры не для того, чтобы в них смотреть
Хочешь несколько процессов в одном контейнере? - ты мудак что ли?, сказано же, один контейнер один процесс
Хочешь использовать инструменты для provisioning типа ansible? - наверное, ты дебил и просто не знаешь shell, Dockerfile наше усё, он решает все задачи, а то что ты называешь это простынёй кода, говорит только в пользу твоего слабоумия
Что у тебя уже написаны десятки тысяч строк кода ansible или puppet? - ты же знаешь где тут ближайшая помойка
Докер завесил твою машину, потому что device is busy и всякая такая херня и пришлось ребутить? - наверняка, ты просто криворукая шмара
У тебя какие-то проблемы с пониманием системы прав на файлы с примаунченными volume или может быть ты хочешь узнать зачем всё запускать от рута? - ты просто отсталое говно
Хочешь live миграцию контейнера вместе с данными? - так подними контейнер на другой машине, ты понимаешь вообще что такое stateless? а твое состояние это никому не нужное говно - осознай это лучше сейчас, как ты будешь его переносить никого не волнует
Желаешь использовать logrotate или просто смотреть логи? - иди читай доку, кретин, твои старые тупые способы тут не работают
Хочешь просто использовать dns для разрешения имён на докер контейнеры? - и после этого ты всё ещё думаешь найти работу в ИТ?
Хочешь мониторить что происходит в контейнере или настроить заббикс на твои контейнеры? - не, ну ты реально тупой, ты читал пункт про один процесс?
cat /proc/net/netstat | \ awk '(f==0) {name=$1; i=2; while ( i<=NF) {n[i] = $i; i++ }; f=1; next} \ (f==1){ i=2; while ( i<=NF){ printf "%s%s = %d\n", name, n[i], $i; i++}; f=0} '
1. strace -ff -e execve -s 1024 -p[pid 1906] execve("/opt/firefox-3.6/firefox", ["/opt/firefox-3.6/firefox", "http://......"], [/* 53 vars */]) = -1 ENOENT (No such file or directory) 2. gconftool -R / | grep firefox -B1 ... /desktop/gnome/url-handlers/ftp: command = /opt/firefox-3.6/firefox "%s" -- /desktop/gnome/url-handlers/http: command = /opt/firefox-3.6/firefox "%s" ... 3. gconftool -t string -s /desktop/gnome/url-handlers/https/command 'x-www-browser "%s"' 4. gconftool -t string -s /desktop/gnome/url-handlers/http/command 'x-www-browser "%s"' 5. ... 6. ...
SLEEP=5; while sleep $SLEEP; do cat /proc/net/dev ; done | sed 's/:/: /' | awk '/eth|lo/ { printf "%s %010.1f %010.1f\n", $1, ($2-pi[$1])*8/1024/1024/'$SLEEP', ($10 - po[$1])*8/1024/1024/'$SLEEP'; pi[$1]=$2; po[$1]=$10 }';