Igor
если не удалять старые образы после деплоя, то за пару недель у нас старый хлам забививает 100 гб раздел, так что толстые образы это проблема
snatvb
А как удалять старые образы?
Igor
в 1.13 появилась штатная команда
LEXASOFT
А если папочку расшарить?
Igor
да я не помню её, и я её тестил, она удаляет чуть меньше чем мой скрипт: #!/bin/bash # Delete all stopped containers docker rm $( docker ps -q -f status=exited) # Delete all dangling (unused) images docker rmi $( docker images -q -f dangling=true)
Vlad
Поделишься?)
docker system prune -a -f
Igor
что за флаги?
snatvb
Эт он все образы потрет?
Vlad
Да, всё неиспользуемое удалит
Igor
нет, команда prune удаляет только не используемые
Igor
там можно глянуть не удаляя, сколько места она освободит
Vlad
docker system df
snatvb
то есть те что не запущены, оно удалит?
Igor
остановленные контейнеры, и образа с которыми не связан не один из контейнеров
Igor
и волумы тоже
snatvb
Над локально затестить А то у меня на маке места с херову душу)
Igor
но надо понимать что если вы на пять минуточек оставили контейнер, ну с кажем с базой данных, а потом ебанули эту команду, то она снесёт вам и контейнер с базой данных, и его образ, и его волумы. Если я верно понимаю её действие
snatvb
Ну скорее всего да
snatvb
База у меня отдельно будет
Igor
по крону я думаю опосян её юзать, т.к. во время деплоя контейнер останаливается, шанс маленький, но всё же
snatvb
А образ из хаба затяну
snatvb
Он жеж из хаба не трет?
Igor
Он жеж из хаба не трет?
нет конечно, у неё локальный эффект
snatvb
На всякий спрошу)
snatvb
Тогда не страшно
snatvb
А вот базу в контейнер пихать вот так страшно 😄
Mr
приветствую, в alpine нельзя timezone выставлять по env из коробки? Только в entrypoint прописывать cp /usr/share/zoneinfo/${TZ} /etc/localtime ?
Igor
А вот базу в контейнер пихать вот так страшно 😄
почему ? я пихнул, пол года, полёт нормальный
Igor
так посто волум под данные создать, и оно ни куда не пропадет
snatvb
Шо такое волум
Igor
volume
Igor
https://docs.docker.com/engine/tutorials/dockervolumes/
Igor
мутабельная часть имутабельных контейнеров, так сказать )
Igor
технически это просто папка, которую примонтирует докер в нужное место в контейнере
snatvb
Ту что можно дергать другими приложениями например?)
snatvb
Типа uploads/ куда файлы будут юзверы грузить и мне надо их дёргать в другое приложение
Igor
да, можно шарить данные между контейнерами так, главное про права не забывать
Igor
тут ранее обсуждалось что можно всем котейнерам и даже хост машине создать юзер группу с определенным uid, чтобы проще было управлять правами на чтение/запись
snatvb
Понял Когда у меня до деплоя дойдет, я могу к тебе со своими проблемами обратиться? Если что не будет получаться
Igor
можешь, но я не сис админ 😃 я разраб, но так получилось что больше некому было настроить у нас весь деплой, поэтому я немного в теме 😃
Igor
😃 ок, пиши конечно, расскажу про все шишки
Denis
По деплою, почитайте что такое blue green deployment
Igor
По деплою, почитайте что такое blue green deployment
я знаю про этот подход, у меня есть небольшой даунтайм пока контейнеры пересоздаются, пару секунд может быть, это пока что приемлемо. Так как чтобы избежать этого, мне надо деплоить на через docer-compose, потому что docer-compose завязан на имя проекта, и нет возможности держать запущенной старую версию, и при это создать новые контейнеры, docker-compose up без варианто сносит старые и запускает только потом новые
Igor
можно конечно каждый раз менять имя имя проекта, дописывать версию билда, но тогда надо как то помнить страое имя, чтобы через тот же docker-compose аккуратно все старое можно было удалить
Igor
в любом случае docker-compose какой то костыль при такой схеме
Denis
Мы им не пользуемся, мало возможностей даёт
Denis
Если у тебя кластеры хотя бы 5 машин рекомендую посмотреть в сторону mesos + marathon
Igor
да не, у меня всего одна тачка в DO, там несколько проектов крутится в докере, и одна физическая тачка в датацентре для CI
Igor
https://github.com/deis/deis интересную штуку нашёл, правда работает в связки с кубернейтс, ни кто не юзал?
Slach
=) оно уже года полтора как называется v2 и наызвается deis workflow
N
список имен неиспользуемых volumes можно также получить через docker volume ls -f dangling=true
N
только вот туда попадут именно неиспользуемые в данный момент, т.е. в крон опасно очистку так же вешать
N
@igor_na посмотри в сторону scaleway, туда переехал с DO, прайс ниже в несколько раз)
N
только внимательно про billing прочитай, стоимость ресурсов копеечная, дешевле чем где либо, но берут деньги даже за снятие и хранение снэпшота https://www.scaleway.com/faq/billing/
Igor
@igor_na посмотри в сторону scaleway, туда переехал с DO, прайс ниже в несколько раз)
нам они не пойдут, у них DC в не выгодных для нас местах, но за ссылку спасибо, может пригодится
нꙺ
Господа, кто-нибудь юзает UI для докера? И если да, то какой?
Gleb
Из ui можешь посмотреть https://github.com/portainer/portainer
нꙺ
Из ui можешь посмотреть https://github.com/portainer/portainer
благодарствую! а не попадалось ли на глаза что-нибудь, что еще поддерживает и мультиконтейнерный старт?
нꙺ
Нафига?
так надо
Gleb
ээ… гуй ?
Gleb
для управления контейнерами пачками сейчас тулов столько ,что сиди да разбирайся только успевай
Gleb
Гуев не знаю. Ток на портейнер натыкался как-то случайно, когда искал для docker registry варианты ui
Arsen
https://github.com/weaveworks/scope - еще есть вот это. больше скорее для визуализации
Sander
как запустить контейнер с envirement? docker run -it -d --name my_nginx_test nginx_test /bin/bash -c "export DOMAIN=VAL1"
Sander
а то мой вариант чтот не работает
Mr
как запустить контейнер с envirement? docker run -it -d --name my_nginx_test nginx_test /bin/bash -c "export DOMAIN=VAL1"
$ docker run —help|grep env -e, —env list Set environment variables (default []) —env-file list Read in a file of environment variables (default [])
Sander
да вроде делал
Sander
😞
Sander
docker run -it -e PROXY_URL="http://jasonwilder.com" --name my_nginx_test -d nginx_test /bin/bash все же правильно?
Sander
@teddykgb
Mr
да
Mr
$ docker run -it -e PROXY_URL="http://jasonwilder.com" —rm —name my_nginx_test nginx env PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin HOSTNAME=b40e66a6df31 TERM=xterm PROXY_URL=http://jasonwilder.com NGINX_VERSION=1.11.9-1~jessie HOME=/root
Sander
просто dockerize пробую, но что-то пока не хочет работать