Александр
.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 окружения
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
Александр
Если они испульзуются каким-то остановленным или запущенным контейнером, то будет ошибка
twwlf
Александр
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
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
нꙺ
в отдельной ветке на гите уже тред дилнной в километр и возрастом что-то около двух-трех лет
Rocket
Artem
Кто-то на маках разрабатывает и там образов может быть поболее чем на продакшенах некоторых)
Rocket
Vladimir
А docker-gc помогает?
Alexey
Привет. Для регестри развернутого на своем сервере, существуют хорошие веб интерфейсы? Подскажите
Сергей
twwlf
Artem
а причем тут виртулка?
twwlf
Потому что маковый докер живёт внутри виртуалки?
Anonymous