Alexey
Окей, попробую продать эту идею теперь всем)
мы в свое время очень сильно обосрались на том, что юзеров постгреса не стали заводить в схемы, потом сильно плакали и с болью переделывали. Частично даже дор сих пор гдето на проде можно найти пользователей не упомянутых в миграциях, к сожалению
Alexey
проще, если всё сразу управляется миграциями, проще в последующей поддержке
Evgenii
да, но это костылек такой 🙂
Так как есть другие системы, нужен один подход, попробую всё в миграции
Evgenii
ты ж все равно стартуешь его руками или нет
Нет, это делает TeamCity по vcs правилу
RE
так можно же в джобу тимсити добавить еще один шаг для миграций
Alexey
Всем привет. Подскажите пожалуйста, по какой причине не могу достучаться до порта 9090 docker контейнера. FROM java:8 COPY ./dataimporter-jar-with-dependencies.jar /home/dataimporter-jar-with-dependencies.jar EXPOSE 9090 CMD ["java","-jar","/home/dataimporter-jar-with-dependencies.jar"] По логам все чисто : docker run -p 9090:9090 ca30884c70bd log4j: Threshold ="null". log4j: Level value for root is [INFO]. log4j: root level set to INFO log4j: Class name: [org.apache.log4j.ConsoleAppender] log4j: Parsing layout of class: "org.apache.log4j.PatternLayout" log4j: Setting property [conversionPattern] to [%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n]. log4j: Adding appender named [console] to category [root]. 2018-07-10 13:28:05 INFO AnnotationConfigApplicationContext:573 - Refreshing org.springframework.context.annotation.AnnotationConfigApplicationContext@1c 4af82c: startup date [Tue Jul 10 13:28:05 UTC 2018]; root of context hierarchy 2018-07-10 13:28:05 INFO DefaultListableBeanFactory:839 - Overriding bean definition for bean 'springMicroservicesRunner' with a different definition: re placing [Generic bean: class [org.wso2.msf4j.spring.SpringMicroservicesRunner]; scope=singleton; abstract=false; lazyInit=false; autowireMode=0; dependenc yCheck=0; autowireCandidate=true; primary=false; factoryBeanName=null; factoryMethodName=null; initMethodName=null; destroyMethodName=null; defined in URL [jar:file:/home/dataimporter-jar-with-dependencies.jar!/org/wso2/msf4j/spring/SpringMicroservicesRunner.class]] with [Root bean: class [null]; scope=; ab stract=false; lazyInit=false; autowireMode=3; dependencyCheck=0; autowireCandidate=true; primary=false; factoryBeanName=MSF4JSpringConfiguration; factoryM ethodName=springMicroservicesRunner; initMethodName=null; destroyMethodName=(inferred); defined in org.wso2.msf4j.spring.MSF4JSpringConfiguration] 2018-07-10 13:28:06 INFO DriverManagerDataSource:133 - Loaded JDBC driver: org.postgresql.Driver 2018-07-10 13:28:06 INFO SpringMicroservicesRunner:71 - Deploying healthCheckerController bean as a resource 2018-07-10 13:28:06 INFO SpringMicroservicesRunner:71 - Deploying operationConfigurationController bean as a resource 2018-07-10 13:28:06 INFO SpringMicroservicesRunner:71 - Deploying procedureConfigurationController bean as a resource 2018-07-10 13:28:06 INFO SpringMicroservicesRunner:71 - Deploying processConfigurationController bean as a resource 2018-07-10 13:28:06 INFO SpringMicroservicesRunner:71 - Deploying serviceConfigurationController bean as a resource 2018-07-10 13:28:06 INFO MicroservicesRunner:268 - Microservices server started in 539ms 2018-07-10 13:28:06 INFO ServerConnectorBootstrap$HTTPServerConnector:207 - HTTP(S) Interface starting on host localhost and port 9090 D:\PROJECTS\oais\nseec\repository\nseec\nseec\nseec-config\nseec-config-web-services\src\test\resources>docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 0a1ab4e1a8ff ca30884c70bd "java -jar /home/dat…" About a minute ago Up About a minute 0.0.0.0:9090->9090/tcp elated_jang
RE
netstat -tulpen на хосте
Alexey
меня смущает 2018-07-10 13:28:06 INFO ServerConnectorBootstrap$HTTPServerConnector:207 - HTTP(S) Interface starting on host localhost and port 9090
RE
аа.. это винда ну надо убедится что порт в listen
Alexey
ты уверен, что порт не 127.0.0.1:9090 внутри контейнера?
RE
ты уверен, что порт не 127.0.0.1:9090 внутри контейнера?
именно так но он еще експозится на хост
Alexey
фикси код, вобщем, и приходи
RE
а вообще да - хорошо бы убедится, что в контейнере он тоже не только на локалхосте я хз как можно зайти внутрь контенера под виндой
Alexey
всё так же, через exec
RE
тогда все просто
Alexey
netstat -tulpen на хосте
Запускаю через docker toolbox. Я бы с радостью и netstat -ntulp и firewall-cmd, но увы не заинсталены тулы..
Alexey
чтобы глянуть на каком интерфейсе у тебя висит порт
Alexey
если на 127.0.0.1 - то вот тебе и проблема
RE
ну если на хосте нету порта этого - значит внутри только на локалхосте
Alexey
ну если на хосте нету порта этого - значит внутри только на локалхосте
Образ на основе FROM java:8 Когда в него захожу, там все урезано и netstat не заинстален. Суть в том, что у коллег получилось, но это было 2 месяца назад и вспомнить не можем что дописывали))
RE
можно доставить если там есть какойто пакет менеджер
RE
если alpine - то даже в нем можно вроде
RE
подними рядом какойто тестовый контейнер с телнетом и стукнись в докер сети на 9090
Alexey
подними рядом какойто тестовый контейнер с телнетом и стукнись в докер сети на 9090
Я и поднимаю, postgres, он то работает на внешку, а jar ка хер... Это как по телнету зайти ?
RE
telnet dockerip 9090
RE
это для диагностики если есть ответ - значит твой контенер слушает 9090 не только на localhost. а это значит что и экспзит его на хост нормально
RE
если нет конекта на 9090 в докер сети - значит чтото с самим контейнером
Alexey
Образ на основе FROM java:8 Когда в него захожу, там все урезано и netstat не заинстален. Суть в том, что у коллег получилось, но это было 2 месяца назад и вспомнить не можем что дописывали))
чувак, ты че, стебешься? ну это же вообще изи docker run -tdi --rm --name test_java java:8 docker exec -ti test_java bash apt-get update && apt-get install -y net-tools netstat -plunt всё есть, всё работает. Сделай тоже самое в своем контейнере и всё увидишь.. как вы вообще работаете с таким уровнем знаний?
Alexey
так если тебе нетстат покажет, что у тебя приложуха запустилась на локалхосте, вместо 0.0.0.0, то это и причина
Alexey
а причина этой причины - конфиг твоего приложения, либо сам код, если это там захаркожено
RE
мда..
ilya
можно и не инсталлить нетстат, а просто посмотреть в неймспейсе контейнера
RE
какаято магия с inspect?
ilya
nsenter -t PID -n netstat
RE
ну /proc/docker_pid/ бла бла
ilya
где PID, это docker inspect -f '{{.State.Pid}}' container
RE
во
RE
интересный хинт если надо глянуть на fs контейнера
RE
для scratch имаджей например
Alexey
nsenter -t PID -n netstat
спасибо, хороший трюк
RE
так емуж под винду надо
Alexey
ну поздравляю, ты нашел проблему
Alexey
почти сам :)
Alexey
сделай чтобы это дело было запущено на 0.0.0.0:9090
Константин
netstat в 2018 эх
Константин
вы наверн еще и ifconfig используете?)
Константин
и route?)
Alexey
а вы че используете?
Константин
это все deprecated лет 12 как)
Artem
наверное ss и ip
Alexey
иии?
Константин
вместо netstat - ss
Alexey
оно не работает?
Константин
ifconfig - ip
Константин
вместо route - ip route
Alexey
ок, умничка :) а нетстат работает или нет?
Константин
ок, умничка :) а нетстат работает или нет?
ок, умничка, а попробуй netstat запустить на хосте с 1 млн коннектов)
Alexey
а нахуя?
Константин
окай)
Константин
вопросов нет)
Alexey
быстро ты )
Константин
конечно быстро) с чуваками из 70ых я и на работе общаюсь)
Константин
там они ведьм сжигают)
Константин
и на птерадактелей охотятся)
Константин
и ftp используют с gopher'ом)
Alexey
астанавись )
Alexey
что ты несешь )
Anonymous
здрс
Anonymous
мы не знакомы. я только вступил в группу
Rus
Всем привет, кто нить подскажет зачем нужны volume в докере, как он создаётся и зачем может понадобится его удалить ?
RE
а чо - ss есть там где нет нетстата?
Ilya
а чо - ss есть там где нет нетстата?
Ну типа да, если речь про дебианы
Ilya
В alpine нету