Дурак из фильма
Нет, -P не использовал в данном случае
twwlf
у docker run есть прекрасный флаг --help
twwlf
Нет, -P не использовал в данном случае
видимо, изменили дефолтное поведение
Дурак из фильма
Но зачем? Если хочется один раз в файлике написать и не использовать лишних ключей при запуске
twwlf
миллион причин
twwlf
тебе в ряде ситуаций вообще не нужны торчащие наружу порты от каджого сервиса, например
twwlf
а если наружу по дефолту проксировать тот же порт – ты запаришься коллизии разруливать
twwlf
глупые вопросы, на самом деле
Дурак из фильма
У меня есть нексолько контейнеров для инфраструктуры, и порой надо туда сходить напрямую для дебага в ту же базу, например. И есть контейнер с приложением, даже два. И они должны ходить в те инфраструктурные контейнеры
twwlf
почитай про compose/service и docker network'и
Romuald
Парни. Ставлю docker lamp, не могу подключится к localhost:3306 через клиент бд извне контейнера. Порты пробросил -p 3306:3306
Владислав
--net=host (как-то мне такой вариант помог)
Vlad
Всем привет. у меня проблемка с docker-ом, кто нибудь может подсказать в какую сторону копать? в docker-compose.yml следующее: version: '3' services: nginx: build: ./nginx ports: - 80:80 links: - php php: build: ./php volumes: - ./domains:/var/www/html ports: - 82:80 в dockerfile для nginx: FROM ubuntu:14.04 RUN apt-get update -y RUN apt-get install -y python-software-properties RUN apt-get install -y software-properties-common RUN add-apt-repository -y ppa:nginx/stable RUN apt-get update -y RUN apt-get install -y nginx RUN echo "\ndaemon off;" >> /etc/nginx/nginx.conf RUN chown -R www-data:www-data /var/lib/nginx VOLUME ["/etc/nginx/sites-enabled", "/etc/nginx/certs", "/var/log/nginx"] EXPOSE 80 443 ADD nginx.conf /etc/nginx/conf.d/default.conf WORKDIR /etc/nginx CMD ["nginx"] в nginx.conf: server { listen 80; server_name test1.local; location / { proxy_pass php/test1/; } } в /etc/hosts прописано: 127.0.0.1 test1.local запускается вроде без ошибок, но в браузере не работает (на урл test1.local или localhost выдает что такого ресурса нет). отдельно php контейнер работает. не получается запустить nginx в качестве прокси. надо что бы на одной связке контейнеров можно было хостить много доменов (как в OpenServer, в одной директории domains находится несколько доменов). если же запускать вообще без nginx, то в wordpress абсолютные пути ведут себя некорректно, т.к. приходится задавать путь как: localhost/test1/
Дурак из фильма
netstat -nlpt что показывает?
Romuald
--net=host (как-то мне такой вариант помог)
сейчас прописал. заработало. но прикол в том. что у меня база не была запущена, сейчас гадаю
Vlad
netstat -nlpt что показывает?
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN - tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN - tcp 0 0 127.0.1.1:53 0.0.0.0:* LISTEN - tcp6 0 0 :::22 :::* LISTEN - tcp6 0 0 ::1:631 :::* LISTEN -
Vlad
Чот не видно там твоего 80-го, а что показывает docker ps?
хм.. тут реально контейнера с nginx нет
Vlad
хм.. тут реально контейнера с nginx нет
Разобрался, тут была проблема с nginx.conf, поэтому контейнер не запускался. Спасибо за помощь)
Дурак из фильма
Не очень понимаю как быть с портами. Мне надо наружу показывать приложеньку по HTTP. Соответсвенно, я сделал пайплайн в gitlab, который билдит мне докер, а потом пытается запустить. Разумеется падает, когда уже есть запущеный контейнер с экспозом 80-го порта. Да и на самом деле я бы хотел иметь сразу несколько копий на разных портах под разные ветки. Конфиг для nginx я представляю как поправить и создать соответсвующий виртуальный сервер, а вот как правильно задать новый порт и ещё убедиться, что он не занят, пока не очень понятно.... хотя пока писал, придумал топорный метод для баша, но .gitlab-ci.yml не даёт нормально выполнять сложные ванлайнеры.
Дурак из фильма
А там есть возможность запустить в докер композе?
Там обычные шелл-команды в виде yaml
𝚋𝚘𝚍𝚣𝚒𝚗
пацаны, помогите пожалуйста регулярками вывести строки в которых есть цифры буквы и строка 8 символов! HEEEELP
Vladimir
[a-zA-Z0-9]{8}
𝚋𝚘𝚍𝚣𝚒𝚗
[a-zA-Z0-9]{8}
кавычки не нужны ?
Vladimir
мне нет, спасибо)
Vladimir
ты даже не написал язык
𝚋𝚘𝚍𝚣𝚒𝚗
я грепом из файла тащу данные
𝚋𝚘𝚍𝚣𝚒𝚗
слабо знаю регулярки бл
Vladimir
https://regex101.com/r/yQ6KHu/1
𝚋𝚘𝚍𝚣𝚒𝚗
https://regex101.com/r/yQ6KHu/1
спасибо большое!!!
Vladimir
нз)
𝚋𝚘𝚍𝚣𝚒𝚗
нз)
выводит 8 и больше ... а мне надо 8 only )) не могу теперь подобрать ))
Vladimir
.+ убери попробуй
𝚋𝚘𝚍𝚣𝚒𝚗
.+ убери попробуй
убунта отказывается грепать данные с такими {кавычками}. не могу указать число символов в строке
Vladimir
\{8\} ?
𝚋𝚘𝚍𝚣𝚒𝚗
неа
Vladimir
вообще в грепе можно юзать grep "[[:alnum😏]\{8\}" скорее, нежели pcre
Vladimir
: ] вместо смайлика без пробела
Vladimir
http://paste.org.ru/?hjiqv0
Vladimir
выводит только 8 символьную строку
𝚋𝚘𝚍𝚣𝚒𝚗
выводит только 8 символьную строку
спасибо большое человеческое!!!! где детальнее почитать можно об этом ?
Vladimir
man grep =)
Vladimir
https://www.cyberciti.biz/faq/grep-regular-expressions/
Frank
вангую хватит туториала и несколько часов практики в том же regex101 :)
Vladimir
а потоб бац и sed подвезли) а на закуску awk
Frank
))
Frank
Ну может оно ему не надо
Richard
анон, подскажи, пожалуйста: вот есть python:3.6-alpine, есть redis.deb. есть ли смысл морочиться, и впихнуть в образ с пайтоном рэдис, или пусть как два контейнера крутятся? (хотя контейнер с рэдисом будет юзать исключительно пайтон и там еще очень чувствительные данные будут храниться)
Frank
Ну идеологически типа отдельные правильно) да и если чувствительные - лучше не создавать потенциальных точек доступа в хранилище через всякий 0-day связанных подсистем и баги приложения
Richard
Естественно отдельно)
а в чем резон так делать? ну, т.е. если я правильно понимаю, идеологически, микросервисная архитектура на контейнере подразумевает, что 1 контейнер == 1 сервис. или я где-то упускаю логику?
Richard
мне просто интересно послушать за и против от более прошареных людей, чем я
Dmitry [დმიტრი]
а в чем резон так делать? ну, т.е. если я правильно понимаю, идеологически, микросервисная архитектура на контейнере подразумевает, что 1 контейнер == 1 сервис. или я где-то упускаю логику?
Насколько понимаю, основная разумная причина в том, что хочется отлавливать баги там, где они есть, а не чтобы у тебя из-за одного бага крашилась вся система
Dmitry [დმიტრი]
Ну то есть написал ты неправильно строчку в конфиге редиса - сломался только редис. Питон при этом живет и выполняет свои задачи как может
Frank
Ну для начала у тебя чувствительные данные в редиске. И чем она изолированнее тем лучше. Во-вторых ты по-сути получаешь то же самое, что и при сборке в один контейнер - оверхед-то минимальный, но можно независимо рулить версиями и прочим таким, без пересборки всего, ну и точек отказа критичных меньше, и да и нет)
Richard
Ну то есть написал ты неправильно строчку в конфиге редиса - сломался только редис. Питон при этом живет и выполняет свои задачи как может
🤔🤔🤔🤔🤔 ну хорошо, мы предполагаем, что единственные функции рэдиса используются — это get и set. ну хорошо, может еще flushall на всякий пожарный. в целом, там ломаться-то особо нечему. капитальных вопроса два: 1) хорошая ли это практика (самодостаточный контейнер, лишних зависимостей от других контейнеров не имеет. но специфический образ)? и 2) стоит ли оно того, накатывать вручную такой образ? (опять же, зато доставка удобная)
Frank
Смотрю сцену где сэм гэнджи сражается с паучихой Шелоб))
Dmitry [დმიტრი]
Ы)))
Richard
1. В целом да 2. Определенно да :)
окей, спасибо большое, пойду тогда пихать рэдис в пайтон))
Frank
Unix-сокетом в смысле
Richard
Unix-сокетом в смысле
нененене, я про вебсокеты
Richard
ну, всмысле localhost:6379 или какой там порт дефолтный, забыл уже
Frank
имхо, это уже оверкилл)
Да ладно, у меня в одной из песочниц так мило уживаются nginx + php-fpm)
Frank
Ну, докером можно локальный сегмент запилить, да - вкусовщина)
Richard
Да ладно, у меня в одной из песочниц так мило уживаются nginx + php-fpm)
аж передернуло)))) смотрю на свою машинку для экспериментов, там пользователей-сервисов пруд пруди: postgres,mysql,odoo,что там еще, короче все в таком духе. после этого понял, что мой код никогда не будет работать от своего имени))
Frank
)) не, я песочницы под каждое приложение обычно делаю, со своей спецификой
Frank
Там же изоляция типа, можно много нагородить)
Richard
ну я вот такой человек, который пытается убить продакшн сервак, а не дев ахахах
Richard
иначе-то не солидно
Frank
:)