Александр
.gitlab-ci.yml: variables: DOCKER_DRIVER: overlay2 # ... другие джобы build: stage: build image: docker:git services: - docker:dind before_script: - docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY only: - dev - prerelease tags: - build script: - TAG=${CI_COMMIT_REF_SLUG} ./docker/scripts/build_images.sh
Александр
А в скрипте docker build -f ./docker/node/Dockerfile -t git.u-k-s.ru:4567/avtostroygrad/kis/app/node:prerelease .
Andrey
https://docs.gitlab.com/runner/executors/docker.html#the-builds-and-cache-storage
Александр
Ну, там несеолько контейнеров
Александр
Но я подозреваю, что это вообще никак не связано
Andrey
да, уже вижу, не прогрузилось сообщение с /cache
Александр
privileged = true
Andrey
а если privileged = true и используется dnd - нужно ли сокет прокидывать? мб тут что то ему не нравится. Если прокидываешь сокет, то dnd не нужен и privileged = false. Если ошибаюсь - поправьте
Александр
без dnd нет docker
Александр
щас попробую оставить priveleged=true и убрать проброс сокета
Александр
Сборка пошла
Александр
Но опять без кеша...
Александр
А если в контейнере выполняю docker ps, то говорит, что нет сокета)
Александр
/ # ps PID USER TIME COMMAND 1 root 0:00 /bin/sh 13 root 0:00 /bin/sh 27 root 0:00 sh ./docker/scripts/build_images.sh 44 root 0:00 docker build -f ./docker/php/Dockerfile -t git.u-k-s.ru:4567/avtostroygrad/kis/app/php:dev . 60 root 0:00 sh 71 root 0:00 ps / # docker images Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
Александр
На хостовой тачке в процесах сборку видно [root@GITLABRUNNERS runners]$ ps aux | grep build root 1234 0.0 0.0 1556 972 ? S 18:01 0:00 sh ./docker/scripts/build_images.sh root 1251 0.4 0.2 27304 18352 ? Sl 18:01 0:00 docker build -f ./docker/php/Dockerfile -t git.u-k-s.ru:4567/avtostroygrad/kis/app/php:dev .
Anton
Народ, подскажите тру путь. Надо на впс поднять нескоько (штук 5) маленьких сайтиков. nginx + php-fpm Как делать? 5 контейнеров с nginx, 5 контейнеров с php-fpm + 1 "рутовый" nginx, установленный на хост машине, который проксирует запросы с разных доменов на nginx проектов? Глупо же держать столько nginxов?
Yuliy
думаю да
Anton
да, глупо или да, так надо делать?)
Vage
думаю нет))
Yuliy
хотя пжи, я не дочитал)
Yuliy
я про java подумал на секу)
Yuliy
тогда норм в принципе)
Anton
5 нжинксов на серве норм?
Yuliy
правда я б тогда запихнул apache в бекенд и nginx снаружи
Yuliy
и кста, нужно обязательно разграничение строгое их на докере?
Anton
да не особо
Yuliy
по старике тогда каждый в свою директорию и все разрулить nginx вирт хостами
Yuliy
Anton
php-fpm тож в хосте поставить и не париться?
Александр
да, глупо или да, так надо делать?)
Тогда окружение одного сайта зависит от окружения другого
Александр
Если хочешь проще - НЕ биндишь порты nginx на хост, вместо этого прописываешь VIRTUAL_HOST, а на серваке поднимаешь nginx-proxy: version: "3" services: nginx-proxy: image: jwilder/nginx-proxy ports: - 80:80 - 443:443 volumes: - /var/run/docker.sock:/tmp/docker.sock - ./certs:/etc/nginx/certs network_mode: host
Александр
Не думаю, что ты много теряешь при наличии нескольких nginx/php
Александр
А если хочешь немного погеморнее, но с одним nginx/php-fpm, то делаешь папку, в неё симлинки из проектов, в которых конфиги для nginx/php-fpm, поднимаешь nginx:alpine
Александр
А контейнеры nginx/php-fpm самих проектов убираешь из stage/production окружения
Александр
Тогда окружение одного сайта зависит от окружения другого
Еще - один проект требует php5, другой php7.1, третий требует какой-нибудь php-pdo-mysql, получается каша, и 2 версии костылить. Но если всё идентично, то можно и один контейнер использовать
Anton
Спасибо, буду переваривать
Andrey
без dnd нет docker
У меня нет dnd. Проброшен сокет, не привелигерованный режим и докер есть и кэш есть)
Николаич
Всем привет. Узнал тут, что контейнеры занимают много места. Вывожу список командой $ docker images -a REPOSITORY TAG IMAGE ID CREATED SIZE backend_api latest 0a1a2a575d73 42 hours ago 1.41GB <none> <none> ed08ccb7a6c1 42 hours ago 1.41GB <none> <none> 5167c3efe139 42 hours ago 999MB И вот таких с <none> в начале больше 20 штук. Пытаюсь их удалить командой docker images -a | grep "<none>" | awk '{print $3}' | xargs docker rm, но получаю ошибки Error: No such container: 90fc76ae1a89
Николаич
Как быть?
Николаич
Решил добавлением флага i к команде docker rm
twwlf
dorker rmi $(docker images -aqf dangling=true)
docker image prune не проще?
Александр
Если они испульзуются каким-то остановленным или запущенным контейнером, то будет ошибка
Александр
docker image prune не проще?
О, спасибо, не знал)
twwlf
О, спасибо, не знал)
еще есть system prune
twwlf
ваще ух
Александр
Ну с system prune можно удалить volume, который сейчас в остановленном контейнере. Например, в базе. Опасно
twwlf
WARNING! This will remove: - all stopped containers - all networks not used by at least one container - all dangling images - all build cache
twwlf
not sure
twwlf
но вообще, конечно, у каждого отдельного аспекта есть свой prune
Александр
Опа, а я её опасался)
Александр
+1 в карму)
Artem
например сделал docker pull nginx и потом когда образ в докерхабе обновился после очередного docker pull nginx появится контейнер none которые будет содержать слои предыдущего, т.к. новый образ nginx заберет себе тег nginx:latest
Николаич
Получается у меня из списка REPOSITORY TAG IMAGE ID CREATED SIZE backend_api latest 0a1a2a575d73 42 hours ago 1.41GB <none> <none> ed08ccb7a6c1 42 hours ago 1.41GB <none> <none> 5167c3efe139 42 hours ago 999MB <none> <none> 6c6226ec6f34 42 hours ago 999MB <none> <none> 96dab87b5cb1 42 hours ago 676MB <none> <none> cd722cac9fe1 9 days ago 15.5MB <none> <none> 886ebae14a1b 9 days ago 15.5MB node 8.9.1 1934b0b038d1 2 weeks ago 676MB nginx stable-alpine 72a20a008f56 3 weeks ago 15.5MB mongo 3.2.0 d3a77a5d5c14 23 months ago 317MB реально место занимают только 4 с внятными именами?
Artem
скорее всего да
Artem
проверь du -sh /var/lib/docker/images или какой там урл у образов
Николаич
О, а это мысль же. Щас
Artem
вообще как уже писали через prune подчищаются все лишние образы, но место это вряд ли много освободит
Artem
т.к. это только отображение слоев
Николаич
Хоспади... Это называется: Не читай доку и сразу пиши костыли... Есть же кошерное docker system df --verbose Спасибо, парни!
нꙺ
для пользователей Mac OS есть плохие новости
нꙺ
все эти ваши docker system prune -f && docker volume prune -f и прочие кошерные вещи не очищают фактическое место на диске
нꙺ
для этого надо в менеджере сервиса докера сделать Reset to factory defaults
нꙺ
в отдельной ветке на гите уже тред дилнной в километр и возрастом что-то около двух-трех лет
Александр
для пользователей Mac OS есть плохие новости
Если юзать docker-machine, то всё норм. По крайней мере, у меня
Rocket
для этого надо в менеджере сервиса докера сделать Reset to factory defaults
И в чем проблема? Кто-то на маках пускает продакшен?
Artem
Кто-то на маках разрабатывает и там образов может быть поболее чем на продакшенах некоторых)
Vladimir
А docker-gc помогает?
Alexey
Привет. Для регестри развернутого на своем сервере, существуют хорошие веб интерфейсы? Подскажите
Artem
а причем тут виртулка?
twwlf
Потому что маковый докер живёт внутри виртуалки?
Artem
Потому что маковый докер живёт внутри виртуалки?
потому что так только если использовать тулбокс?