ARCHANGEL 🇺🇦
И что оно значит?) крео, конверт - что ты такое?
Anton
та поди заработок в интернете
Anton
звонили мне на днях такие
Pavlо
всем привет)
вопрос как исправить CRITICAL уязвимости после скана имеджа trivy ?
нашел что некоторые до сих пор не исправлены, а не которые офикшены
вот к примеру "VulnerabilityID": "CVE-2017-17458",
установил это 4.5.3-1ubuntu2.1 но скан все еще ругается,
как быть?
может кто то имеет какие то рекомендации?
Рубикон
Рубикон
Там версии именно что тегами являются
Someone
Всем привет!
Я юзаю docker-compose
Есть докер-образ с кодом внутри.
Я поднимаю контейнер из этого образа, и маунчу туда volume, который, естественно, получает оттуда код при создании. Этот volume я потом маунчу к другим контейнерам, чтобы и они имели доступ к коду.
Проблема такая:
Если я сбилдил образ с новым кодом и обновляю сервис с этим контейнером в docker-compose - код остается старым.
Я понимаю, что volume никуда не делся, и просто переподключается при пересоздании контейнера с тем кодом, с которым был создан сам volume.
При том, удалить volume нельзя, пока его юзает хотя бы один контейнер.
Единственное решение, которое я нашел - удалять к чертям все эти контейнеры, а потом и volume, и пересоздавать заново.
Вопросы:
1. Можно ли как-нибудь удалить volume, который юзается другими контейнерами? (—force не работает)
2. Можно ли переинициализировать volume ( чтобы он заного принял за начальные данные код из контейнера)?
3. Можно ли заменить один volume другим, скажем, поменяв его имя?
4. Стоит ли вообще пихать код в контейнер?
5. Стоит ли шарить volume или сделать все контейнеры с кодом?
6. Стоит ли шарить volumes в 2 шага? (Сделать маунт одного контейнера с одной папкой - потом копировать код в папку другого маунта для другого контейнера и т.д. - таким образом получится по одному volume для каждого контейнера, причем удалять надо будет только один контейнер и только один volume)
George
1. нет. Надо удалить все контейнеры
2. да, это же просто кусок файловой системы. Делаешь там rm *, потом наполняешь файлами заново
3. нет
4. да. Для продакшена - это самое то
5. пофиг. От процесса зависит. Для девелопмента - удобнее, чтобы код шарился с хост-машиной. Для продакшена - код неизменяем, он внутри образа намертво запечен и версионирован
George
6. не понял зачем
George
короче, нужен более подробный практический пример
Someone
ща
Рубикон
А почему бутербродом не собирают? .. вробе глючитсч мнн что при разработке юзают что-то вроде нододнмона с горячей перезашрузкой
Someone
docker-compose.yml
version: "3.5"
services:
web:
container_name: "web_${ENV}"
image: repourl/web:${ENV}
expose:
- "9000"
networks:
- qa
volumes:
- web-content:/var/www/web
wss:
container_name: "wss_${ENV}"
image: repourl/web:${ENV}
expose:
- "9912"
- "5560"
networks:
- qa
depends_on:
- web
volumes:
- web-content:/var/www/web
command: "php bin/console core:socket:server"
networks:
qa:
name: "${ENV}"
volumes:
web-content:
name: "web-content_${ENV}"
George
что такое web и wss?
Someone
код хранится в web образе, шарится с wss и с nginx (не стал его сюда записывать)
George
задача какая? тесты гонять? или разработка?
Someone
Все
Someone
qa, dev, stage и prod окружения такие же будут
Someone
Если вопрос в том, нужен ли код на хостовой машине - ответ: не обязательно
George
тогда запекай в образы
Someone
Не хочется тот же контейнер nginx утяжелять кодом
George
не сильно и утяжелишь
George
зато кучу гемора не отгребешь
George
с теми же правами на файлы
Vladimir ⚪️🔵⚪️
А есть у кого-нибудь опыт создания пользователя для mysql, который бы имел доступ из всего скоупа private network (и только из него)?
George
пример давай
George
речь про юзера - в локалке с докером или из контейнера?
Vladimir ⚪️🔵⚪️
Юзера именно самого mysql
George
я про другое спросил
Vladimir ⚪️🔵⚪️
Видимо я не понял о чем вопрос.
У меня есть контейнер, контейнеру назначется IP из скоупа Private Network.
Когда пытаюсь из него подключиться в контейнер, получаю ошибку, что с моего хоста нет доступа в MySQL.
George
пока неясно
George
конкретно покажи как запускаешь контейнеры
Vladimir ⚪️🔵⚪️
Ааа, я видимо чатом промахнулся.
Сам контейнер запускается в kubernetes, получаю ошибку типа "Host '10.1.3.94' is not allowed to connect to this MySQL server"
George
т.е. у тебя мускуль на хосте, а ты заходишь из кнтейнера?
George
ты это хотел сказать?
George
теперь смотри меджик какой
George
у тебя айпишники какие при подключении - контейнерные или хостовые? это важно, т.к. контейнер может выходить с любым в корп сеть наружу хоста
George
пока выглядит будто тебе надо добавить юзеру грант, чтобы было mysql@10.0.0.0/8 или типа того
George
https://stackoverflow.com/questions/11742963/how-to-grant-remote-access-to-mysql-for-a-whole-subnet
Vladimir ⚪️🔵⚪️
Vladimir ⚪️🔵⚪️
Vladimir ⚪️🔵⚪️
George
George
логично же
George
докер не занимает сетки, про которые твой хост знает, что они существуют
Andrey
это же просто роут, нет по сути никаких сеток
Anton
George
George
George
Если у тебя в /etc/resolv.conf есть днс сервера, то докер достаточно умен (?), Чтобы не пытаться хватать их сети
George
George
Ибо эти днс могут быть через дефолт гейтвей быть доступны
Andrey
хм, интересно
спасибо, буду еще смотреть
Pavel
Доброго дня. Простите великодушно за столь банальный и холиварный вопрос, но какую ось по вашему мнению предпочтительнее использовать на нодах?)
central
central
я лично использую ubuntu, но не думаю что есть дистрибутив который будет подходит идеально под любые ситуации, а значит надо смотреть по ситуации
Pavel
сейчас понаплодили всякие coreos и подобные
George
Pavel
Читай == красношапка
Ну по их доке так и написано)) Вот сейчас я на ubuntu держу всё. На pet-проекте использовал docker-swarm и coreos на 4 ноды amazon aws micro. Были сервисы traefik и portainer на одной ноде, которые за неделю поставили колом инстанс. Так же был поднят мускуль на чистой ноде и тоже встал раком через 3 дня вместе с нодой. И это при простое серверов. Вот и вопрос появился: это лыжи не едут?) После отвала инстанса к нему не подключится даже по ssh. Помогает перезагрузка.
Грешу на:
1 1гб и 1 ядно - это очень мало
2 coreos - это боль и страдания
3 swarm много ест
4 aws - это плохо
George
Все верно
George
Кроме второго пункта
George
Все тлен, боль и страдания. А кореос молодцы. Сделали неплохой дистрибутив
Anonymous
всем добрый вечер, кто может помочь распарсить ошибку
ERROR: for market Cannot start service market: driver failed programming external connectivity on endpoint market (f07f13bdc199f16d67dc78e7771045cfa6e4dd03fd219382f040726f7660e864): (iptables failed: iptables --wait -t nat -A DOCKER -p tcp -d 0/0 --dport 4020 -j DNAT --to-destination 172.100.0.12:4020 ! -i projectnameBridge: iptables: No chain/target/match by that name.
(exit status 1))
Рубикон
У тебя точно все впоредке с модулями?
George
docker info сделай
George
lsb_release -a
Anonymous
lsb_release -a
centOS 7
с первого оутпата сейчас сенситивную информацию почекаю
George
firewalld отрубал?
Anonymous
iptables и прочее конфигурирует админ, его нет(
George
😳😳😳😳😳
George
у тебя же эффективно рутовые права раз у тебя есть docker
Anonymous
там олдскульный конфиг тачки
George
WARNING: bridge-nf-call-iptables is disabled
WARNING: bridge-nf-call-ip6tables is disabled
George
оно и не будет работать
George
требуется донастройка хоста
George
ну, и девайсмаппер это тоже огонь. Нынче все overlay2 юзают