Andrey
Всем привет. У меня в докерфайле есть вот такая контструкция, но после запуска, я свой мавен не вижу?! что не так?
USER jenkins
ENV SDKMAN_DIR="/var/jenkins_home/.sdkman"
RUN curl -s get.sdkman.io | bash \
&& /bin/bash -c 'source "/var/jenkins_home/.sdkman/bin/sdkman-init.sh" \
&& echo "sdkman_auto_answer=true" > $SDKMAN_DIR/etc/config \
&& echo "sdkman_auto_selfupdate=false" >> $SDKMAN_DIR/etc/config \
&& echo "sdkman_insecure_ssl=false" >> $SDKMAN_DIR/etc/config \
&& sdk install maven'
USER root
RUN ln -s /var/jenkins_home/.sdkman/candidates/maven/current/bin/mvn /usr/local/sbin/mvn
Andrey
у меня там дебиан какой-то, и там по умолчанию sh
поэтому у меня есть bash -c '....'
first
Ребят, всем привет, начал изучать докер.
Нашел задачку
При запуске контейнера с аргументом <arg> должна быть выведена строка ''Hello <arg>!", после чего контейнер должен завершить свою работу
Как передавать аргумент при запуске контейнера?
Как я понял, можно через ENTRYPOINT, правильно или нужно в другую сторону копать?)
Je
неправильно понял, нашел задачку найти и тутриал // через environment внезапно, который ключик -e my_arg=пяпя
Алексей
Народ привет. Имеется проект на django, хочу его запихать в контейнер docker. Т.е в контейнере хочу пихать nginx uwsgi dgango
Алексей
Подскажите где хранить настройки для nginx? Ы dockerfile в корне проекта?
Sergey
тома и там и там на хост выкидываете и ссылаетесь на них потом сервером
Sergey
и разрабатывать удобно будет и сохранить если че
Nikita
Привет.
Есть вопрос к комъюнити. В .env поддерживается интерполяция?
Мне нужно прописать пути... к папкам используя переменную-путь проекта+нужная папка.
Должно получиться так:
APP_DIR=../src
APP_LOG_DIR=$APP_DIR/logs
Yevhen
Можно проверить используя вывод docker-compose config
Nikita
Та мне б доку...
Bohdan
так тебе комьюнити или доку?
Bohdan
можно было просто попробовать
в доке не вижу, но у меня получалось так делать
Nikita
Я пробовал, не получалось. А вот в самом docker-compose.yml работало
Nikita
Поэтому пришлось изобретать велик
Nikita
И написано такое:
container_name: ${COMPOSE_PROJECT_NAME}_${SERVICE_CONTAINER_NAME}
Andrey
https://docs.docker.com/compose/env-file/
Andrey
Syntax rules
These syntax rules apply to the .env file:
Compose expects each line in an env file to be in VAR=VAL format.
Lines beginning with # are processed as comments and ignored.
Blank lines are ignored.
There is no special handling of quotation marks. This means that they are part of the VAL.
Andrey
всё после = считается переменной, там даже кавычки не обрабатываются
Andrey
если не верите мне, можете заглянуть в код, там тупо делается сплит строки по символу =
https://github.com/docker/compose/blob/86b5ed1a84b5046089abcfded8922d6dc7e318a2/compose/config/environment.py#L16
Lev
Как обратиться к локалхосту основной машины из контейнера?
это что то типа прикола "сколько будет стоить разместить банер на странице about:blank" ?
Lev
почему?
>_<
потому что локалхост это принадлежность любого хоста без сети
и он всегда у каждого свой
поделиться им нельзя
так что у ноды один ип, у докера другой и вперед
Lev
а, можно создать перенаправление на хосте с какого-нибудь IP на локалхост
а это можно
Lev
как это сделать?
Sergey
а просто порт на 0000 кинуть не катит?
Lev
это как?
Sergey
вам куда именно то в локалхост надо? зачем?
Vladimir
может человеку нужен обычный порт маппинг хост-контейнер?
Sergey
так вот он не говорит что ему надо
как можно помочь при таком минимальном наборе инфы
Sergey
вываливай всю таску
Lev
Я делаю тестовую сеть из контейнеров
Sergey
сеть чего
Lev
Которая будет позволять обратиться к устройствам за NAT
Lev
Пока что я тестирую синхронизацию списка всех устройств
Lev
С помощью тестовой сети из контейнеров
Sergey
ботнета делаешь, пнятненько:)
Lev
Не
Lev
Не ботнет
Vladimir
внутри контейнеров крутиться а-ля vpnc и нужно из хоста прокидывать трафик в контейнер?
Sergey
а в чем такая гениальная идея тогда состоит "из контейнеров наружу стучаться"
если обычно наоборот в какой нить балансер трафик приходит к ним а потом возвращается ответ
Nikita
ikasymov
запустил mysql на докере, хочу законектится выдает
ERROR: Host '172.18.0.3' is not allowed to connect to this MySQL server
docker-compose настройки
db:
image: mysql:5.7
environment:
- MYSQL_ROOT_PASSWORD='mypassword'
- MYSQL_USER='root'
volumes:
- notification-mysql:/var/lib/mysql
runinterface
Ребят вопрос: кто нибудь исполььзует postgres в проде с использованием ранчер к примеру или swarm ?
ессли да то как реализовать что бы они с данными работали с общими разные контейнеры на разных нодах
Sergey
runinterface
это возможно?
Sergey
реплики пустить на одну базу?
а вы будете уверены что данные будут писаться одни и те же и одновременно?
runinterface
/volume был бы отдельно где-то
runinterface
Sergey
тогда перед постгрями надо строить какой нить менеджер очередей чтобы он на все раскидывал
Sergey
rabbitmq\activemq
Sergey
а в чем изначальная задумка
Anonymous
Ребят, вопрос по docker FS
Есть docker контейнер приложения Node.js
Нужно устанавливать и хранить NPM node_modules - коих туева туча
Есть два способа persistence файлов внутри контейнера
1) (использую сейчас)
Устанавливать и хранить node_modules внутри контейнера
(через ssh в контейнер docker exec -it ...
npm install )
2) монтировать папку node_modules в хостовой ОС и устанавливать также через SSH docker exec -it
изнутри docker контейнера
Но хранить объемные node_modules не внутри контейнера - а в FS хостовой ОС и просто монтировать в контейнер эту папку
в 1-ом случае при хранении внутри контейнера - потребляется ли больше памяти RAM? Приемлем ли вообще 1-ый способ
И есть ли преимущества 2-го ?
bebebe
Kirill
Sergey
а вы че будете двухгиговый образ каждый раз ребилдить?
Sergey
а прода потом полчаса выкатываться будет?
Sergey
у вас на ребилд образа больше ресурсов уйдет чем слой заменить пару раз
bebebe
Anonymous
RAM CPU
Алексей
Andrey
RAM CPU
во время исполнения контейнеру без разницы, откуда у него файлы взялись.
Andrey
поражает, сколько в этот чат некомпетентных людей лезет. docker exec у него ssh внутрь контейнера, использование ресурсов от места на диске зависит... кому-то на localhost соседней машины приспичило коннектиться.. Кто поручает этим людям такие задачи?
Oleh
Не вижу ничего поразительного в этом кейсе. Наоборот хорошо, что "эти люди" задаются вопросами. Значит учатся, значит интересно. Хуже, когда не задаются.
Nicholas
Привет. Кто-нибудь работал с cassandra для docker?
Vitaliy
наверно мысль была в том чтобы что-то почитать до. а не давайте делать и по дороге просить
Oleh
У всех подходы разные. "Почитать до" конечно правильней, но лучше спросить, чем потом всю жизнь ходить по ssh в контейнер/делать docker exec
Oleh
Не вижу в этом ничего постыдного
Vitaliy
Про ссш в контейнер и как надо на самом деле чуть ли не в офф. Доке разжевано. Не?
Oleh
Да. Там всё это есть.
Andrey