Написав статью про настройку MTProto-proxy, обнаружил в каментах и личке некое количество активных docker хейтеров. Вплоть до того, что через полтора месяца существования моего образа dante на github — schors/tgdante2 кто-то выложил инструкцию как его собрать и запустить на CentOS 7 в каменты к инструкции по MTProto-proxy. Не, ну я понимаю — консервативность, инертность мышления. Но это было ещё аргументами 5 лет назад. Но в 2018 году.

Можно ли сделать фальшивый /dev/ttyUSB0, если железка не подключена? И чтобы он прозрачно заменялся реальным при подключении? А то сраному докеру во что бы то ни стало нужна железка при запуске контейнера.

На swarm-dev задеплоили новый сервис. Но есть маааленькая бага — внутри связанных с ним контейнеров докер выдаёт немного не тот набор ip-адресов, отчего сервисы в тех контейнерах не могут с ним связываться, ибо идут не туда.

*контейнеры 2017-11-11 в 16.00 OMST (10.00 UTC) на omsklug.com (https://www.youtube.com/c/Omsklug/live) будет трансляция, посвящённая контейнерной системе виртуализации Docker. Казалось бы, что ещё можно рассказать, да показать? А вот и послушайте, да посмотрите. Всем синих китов!

Посмотрел на образ питоноприложения для докера — 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 ec2-user@LINUX-HOST-DNS:/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 и так все с большим интервалом рестартует. Как это вообще дебажить? Куда копать?