to post messages and comments.

Посмотрел на образ питоноприложения для докера — 900Мб.
Само приложение — меньше 10Мб, но хочет собирать сишные либы при устнановке.
Похоже, на меня ляжет задача сделать минимальный образ с питоном, с нужными библиотеками и чтоб поменьше...
А всё потому что показал в чате объём /usr/share/doc в том образе...

Выяснил, что товарищи, пилящие portus, разломали сборку контейнеров и rpm где-то за неделю до того, как я начал с ним возиться, обновив кучу ruby gems, отчего часточно сломалась авторизация...
Плюнули, решили взять альтернативное решение на менее хипстерской яве — github.com

Занялся задачей "прикрутить portus к местному registry, дабы таки появилось: а) вебморда для управления образами, б) ACL".
Взял официальный .yml, наступил на то, что он второй версии, что не поддерживается местным докером, поправил.
Наступил на то, что переменные окружения уже не берутся из .env — прописал все значения для теста внутрь .yml
Теперь наступил на то, что в официальных доках портуса сказано "пропишите ту переменную и можно без ssl" — хрен вам. Ладно, добавил сертификатов по вкусу.
Сейчас, вероятно, буду наступать на то, что сии сертификаты самоподписанные и registry такой авангардизьм не понимает, блин...

а это вообще нормально, что компиляция yesod формы для POST запроса из 12 полей вызывает OOM? такое поведение уходит, если дать виртуалке 6 гб. На 5.5 гб падает. при этом компиляция под нативную ось тянет и не жрет столько памяти..

github.com
Dockerized version of Laravel Homestead

github.com
A Docker PHP development environment that facilitates running PHP Apps on Docker.

adminer
aerospike
apache2
beanstalkd
caddy
certbot
elasticsearc
haproxy
hhvm
jenkins
kibana
laravel-echo
logs
mailhog
mariadb
memcached
minio
mongo
mssql
mysql
neo4j
nginx
percona
pgadmin
php-fpm
php-worker
phpmyadmin
postgres
rabbitmq
redis
rethinkdb
selenium
varnish

Смотрел и читал про докер вчера. Совсем упоролся с этими контейнерами. Особенно понравился трюк с заменой sh на bash и запуск каждой команды RUN в отдельном контейнере. Вот интересно, что там чуваки курили, когда это все писали. Оно же не удобно ни разу.

get current version of deployed by docker application on aws (hard way)

on linux host with access to ECR
```
# get login string
aws ecr get-login --registry-ids ECR-ACCOUNT-ID --region ECR-REGION
# get latest deployed image
docker pull ECR-ACCOUNT-ID.dkr.ecr.ECR-REGION.amazonaws.com/ECR-NAME:latest
# run and verify
docker run -it ECR-ACCOUNT-ID.dkr.ecr.ECR-REGION.amazonaws.com/ECR-NAME:latest bash
# list ontainers to get container ID
docker ps -a
# docker cp CONTAINER-ID:/file/path/within/container /host/path/target
# create APP-NAMEzip with application files
zip -r /tmp/APP-NAME /tmp/APP-NAME
```

on win host
```
# register environment key file in putty
# run copy command
pscp -r [email protected]:/tmp/APP-NAME.zip d:\
```

Забавно, но в Ubuntu сейчас, по сравнению с 14.04 скорость LXC упала, а скорость Docker выросла. Раньше LXC-контейнер отдавал статику и PHP-скрипты с такой же скоростью, как и хост, а Docker — раз в 5 медленнее. Сейчас, не знаю, что повлияло больше, ядро системы или соответствующие версии софта, но для простого `echo 2*2` на php7 скорость отдачи у меня:

— На хосте: 20-22 krps
— В LXC-контенере: 8-10 krps
— В Docker-контейнере: 9-15 krps

При чём у LXC более быстрый вариант php-fpm, с сокетом, а в Doker — с сетевым интерфейсом.

Команда выводит объём изменений внутри контейноров: docker ps --format '{{.Names}}' | while read name; do echo -ne $name\\t; docker diff $name | wc -l ; docker exec $name du -hc $(docker diff $name ) 2>/dev/null | grep total ; done

Няшный разбор полётов после длительной работы с докером. Похуизм кулибиных из дев-команды докера так и сочится из каждой строки.

Печальным остаётся тот факт, что в большинстве компаний ебаные хипстеры тащат всякое говно в продакшен, а разгребать последствия не умеют, от чего страдают здоровые люди. И как хорошо, что у нас есть кому послать хипстеров нахуй.

TL;DR: обратной совместимости нет, куча багов, велосипеды и массовые обсёры, о которых замалчивают. И так по кругу.

thehftguy.wordpress.com

* Например попробуйте настроить на сервере OpenVPN — нужно будет читать доки, настраивать конфиги, сертификаты, гуглить баги именно под ваш сервер. Вообщем — трата времени, а с доккером это одна команда за пару минут — и OpenVPN готов.
(c) toster.ru
Поняли, докер всё за тебя делает — телепатия прям. Ничего делать не надо.

Ловите сразу две публикации о Docker для Windows. Microsoft анонсировала Windows Server 2016, который имеет нативную поддержку Docker, то есть теперь мы можем контейнеризовать и Windows-приложения.

По этому поводу Stefan Scherer и Michael Friis опубликовали обзорные статьи по Docker for Windows, рассказывающие об общей архитектуре и процессе сборки и запуска контейнеров под Windows 10 и Windows Server 2016 соответственно.

1)
amp.gs

2)
amp.gs

Новостной канал подкаста Devops Deflope devopsdeflope.ru

в хипстерграме telegram.me

У меня тут докер-контейнер доставшийся мне по наследству не хочет стартовать. Пишет Restarting (0) 1 seconds ago и так все с большим интервалом рестартует. Как это вообще дебажить? Куда копать?

Не то что бы rvm, SAP HANA, rails, heroku, GOBO Linux и bootstrap были необходимы для проектов. Но если начал собирать разнообразную хипстерскую дурь, становится трудно остановиться. Единственное что вызывало у меня опасение — это docker. Нет ничего более беспомощного, безответственного и испорченного, чем докерные зомби. Я знал, что рано или поздно мы перейдем и на эту дрянь.

Ну, вот, блин. В Gentoo сломали Docker. После обновления до 1.10.0 при любой операции (хоть docker ps) виснет. strace показывает, что виснет на ожидании какого-то мютекса.

Gentoo докатилась уже до того, что и в качестве голого хоста небезопасна стала :-/ Достало. Как поправлюсь (валяюсь с простудой сейчас), буду сносить на последней оставшейся машине. Тем более, что основные компоненты итак в контейнерах, так что проблем с переходом хоста быть не должно.

Окончательная точка в 12-летней истории :)

Вынесу из комментариев, пожалуй.

Давайте пофантазируем о ближаших перспективах информационных технологий.

Десктопные линуксы в текущем виде вовсе не изничтожатся, они всё так же будут продолжать двигаться в юзабилити и проникать во всё новые устройства и сферы жизни, включая IoT.

Серверная часть, уже сейчас очевидно, за гипервизорами. Причём, за приложениями на голом гипервизоре без дополнительных прокладок в виде стандартного стека оверлея операционной системы (в этом месте следует читать про unikernel).

Сетевое оборудование, независимо от того, SMB/SME ли это или Carrier Grade, будет постепенно трансформироваться из standalone hardware в классический стек SDN/NFV (особенно, если Application over Hypervisor заработает так, как того ожидает индустрия). Очень вероятно, что это будут как раз контейнеры c приложениями поверх гипервизора. Intel DPDK уже машет нам растущими руками, а Docker подмигивает.

Ещё одним трендом, который может наконец-то выстрелить в ближайшее десятилетие (и я отчаянно этого жду), может стать компактная мобильная платформа в виде телефона, которая сможет служить полноценным PC при подключении к ней монитора, клавиатуры и мыши (посмотреть на зачатки можно в Microsoft Continuum). Возможно, в этот момент телефон будет служить обычными терминалом к DaaS (посмотреть можно на Amazon WorkSpaces).

Если есть желание — продолжайте в комментариях :)

Эта вся контейнеризация, конечно, очередной технологический рывок вперёд, но никакой культуры пока что нет. Всё на том уровне, на котором было программирование в начале 1980: собрал, сколотил что-то, как-то скомпилилось, кому-то на дискете унёс, ещё до начала массового использования VCS. Одно радует, что сейчас побыстрее прогресс идёт, и что раньше занимало лет десять, сейчас за 2-3 года наступит.