Gleb
Gleb
ну и в остальных местах ниже
Кирилл
вариант MYSQL_ROOT_URER: root
тоже не прокатывает. кажется, я уже все перепробовал и был на страницах stackoverflow, на которых никто до меня не бывал (:
Gleb
environment:
MYSQL_ROOT_USER: root
должно работать, перед root пробел.
А ты делаешь docker-compose down сначала?
я думаю скрипт который в энтрипоинт засунут не предусматривает смену этих параметров в бд черезе docker-compose up (-d)
Evgeniy
И если создался вольюм для бд, то его нужно удалить
Gleb
точно
Evgeniy
Енверомент настройки используются один раз при создании вольюма с бд
Кирилл
вольюм чистил
down делаю, конечно
freezlite
Как в alpine подставить python3 версии 3.7 ? RUN apk add python3>=3.7 не помогает совсем
freezlite
хотя питон ставиться но версии 3.6.8, странно что он игнорирует версию и не пишет об этом
Ioann
Dan
У нас бот злой, не любит ссылки от новичков :)
Ioann
Странно, вроде бы ссылки не вставлял)
Dmt
Ioann
В общем, есть вопросик по docker+laravel. Сделал отправку писем через smtp.gmail.com на 587 порту. Локально не в контейнере всё отправляет, в контейнере тайм аут при подключении к серверу почты
Ioann
Порты вроде бы открыл
Tadeusz
tcpdump
Ioann
Я сам новичок в бескрайном поле докера)
Tadeusz
докер тут ни при чем
Ioann
докер тут ни при чем
т.е ты считаешь, что у сервера, на котором развернут контейнер, закрыты порты?
Tadeusz
нет, я считаю что лучше не гадать, а посмотреть откуда, куда идет (и идет ли?) пакет.
Evgeniy
Ioann
Ioann
Кирилл
подскажите, почему может не работать volume:
mysql:
image: mysql:8
volumes:
- ./mysql_init:/docker-entrypoint-initdb.d
environment:
MYSQL_ROOT_USER: root
MYSQL_ROOT_PASSWORD: 1111
MYSQL_USER: test_dev
MYSQL_PASSWORD: longpassword
ports:
- 3307:3306
security_opt:
- seccomp:unconfined
начальный скрипт лежит в папке mysql_init в одной директории с yml.
на overflow пишут, что всё из папки docker-entrypoint-initdb.d выполняется при старте контейнера.
но что-то ни бд из скрипта не создается, ни схема...
Evgeniy
Evgeniy
https://hub.docker.com/_/mysql
Evgeniy
Fidelina
Приветы!
Знаю, вы наверняка знаете и подскажите)
java микросервис запакован в docker и есть вопрос как снимать с него дамп?
manefesto
Дамп чего?
manefesto
docker save
Fidelina
java dump
manefesto
docker exec -ti <твой id контейнера> java dump > /dump
docker cp <твой id контейнера>:/dump .
Fidelina
Fidelina
manefesto
Fidelina
А в чем проблема ?
/opt/app $ jcmd 1 help
1:
com.sun.tools.attach.AttachNotSupportedException: Unable to get pid of LinuxThreads manager thread
at sun.tools.attach.LinuxVirtualMachine.<init>(LinuxVirtualMachine.java:86)
at sun.tools.attach.LinuxAttachProvider.attachVirtualMachine(LinuxAttachProvider.java:63)
at com.sun.tools.attach.VirtualMachine.attach(VirtualMachine.java:208)
at sun.tools.jcmd.JCmd.executeCommandForPid(JCmd.java:147)
at sun.tools.jcmd.JCmd.main(JCmd.java:131)
Fidelina
В том, что разработчики вот так хотят)
Fidelina
Fidelina
при попытки снять дамп выдает ошибку
Fidelina
https://forums.docker.com/t/how-to-dump-heap-from-a-java-program-running-in-container/3217/3
Fidelina
Вот этот пример, вобщем
Monch
Господа, как из докер контейнера увидеть всю сеть, все папки - без ограничений?
Monch
вообщем... вот:
компьютер ip адрес: 192.168.1.157, адрес к папке D \\COMP\D\ - сюда мне нужно попасть.
сетевой комп (убунту) ip адрес: 192.168.1.64, \\SRV\share\home\user\appdaemon\ - из этого места я пытаюсь попасть в папку D
Контейнер ставлю так:
docker run --name=appdaemon -d -p 5050:5050 \
--restart=always \
-e cert_verify="False"\
-e dash_url="http://192.168.1.64:5050"\
-e HA_URL="http://192.168.1.64:8123" \
-e TOKEN="toooookkkkeeennn" \
-v /home/user/homeassistant/config/appdaemon:/conf \
-v /etc/localtime:/etc/localtime:ro \
acockburn/appdaemon:latestЧто здесь нужно поменять/дописать, чтобы из \\SRV\share\home\user\appdaemon\ увидеть \\COMP\D\?
Evgeniy
ну для начала твоя виртуалка должна получить доступ к папке на d
Monch
не из докера все работает
Evgeniy
по какому пути папка примонтирована в убунту?
Monch
мне нужно из одного пайтон скрипта запустить другой. запускаю так:
import subprocess
subprocess.Popen(['python', r"\\COMP\D\popup.py"])
Evgeniy
у тебя используется сетевой путь
Monch
Monch
Monch
\\COMP\D\popup.py - цель (винда)
\\SRV\share\home\user\appdaemon\ - отсюда пытаюсь увидеть цель (убунту)
Evgeniy
у тебя COMP это имя твоего компа где запущена виртуалка?
Evgeniy
меньше плясок будет если ты приомнтируешь папку с virtualbox shared folders
и потом спокойно через volumes прокинешь
Evgeniy
другой вариант sudo apt-get install cifs-utils
mount -t cifs //COMP/D /mnt
и пропикдывать в контейнер /mnt
Evgeniy
Monch
Monch
))
Evgeniy
а зачем он тебе внутри докера тогда?
Alexey
хакиры же
Monch
а зачем он тебе внутри докера тогда?
а в докере лежит контейнер с "умного дома". то есть по итогу должно быть: нажимаю выключатель - срабатывает скрипт (в докере) - включается свет - этот же скрипт запускает скрипт на локальном компьютере и всплывает окошко, что свет включился. там короче в двух словах не объяснить.
Evgeniy
ты понимаешь если ты запускаешь скрипт в доркере виртуальной машины с диска удаленой машины, то он в удаленной машине не запустится
Evgeniy
он будет запускаться именно в докере и не запустится так как он для винды
Monch
Evgeniy
никак
если только на винде не будет запущен сервис ожидающий сигнал откуда то из интернета типо запусти скрипт
и тогда докер сможет отправить этот сигнал по http например
и тогда этот сервис ожидающий сигнал это api, а докер клиент api
Evgeniy
или другие не менее извращенные способы
Evgeniy
subprocess это не черная магия, это запуск процессов из python
они запускаются на той же машине где и был запущен скрипт
и тут дальше сильно под вопросом что там в popup.py лежит
Evgeniy
хотя я возможно что то не знаю о python ибо не работаю с этим яп
Alexey
все какер сдулся?
Monch
from win32api import *
from win32gui import *
import win32con
import sys, os
import struct
import time
class WindowsBalloonTip:
def __init__(self, title, msg):
message_map = {
win32con.WM_DESTROY: self.OnDestroy,
}
# Register the Window class.
wc = WNDCLASS()
hinst = wc.hInstance = GetModuleHandle(None)
wc.lpszClassName = "PythonTaskbar"
wc.lpfnWndProc = message_map # could also specify a wndproc.
classAtom = RegisterClass(wc)
# Create the Window.
style = win32con.WS_OVERLAPPED | win32con.WS_SYSMENU
self.hwnd = CreateWindow( classAtom, "Taskbar", style, \
0, 0, win32con.CW_USEDEFAULT, win32con.CW_USEDEFAULT, \
0, 0, hinst, None)
UpdateWindow(self.hwnd)
iconPathName = os.path.abspath(os.path.join( sys.path[0], "python.ico" ))
icon_flags = win32con.LR_LOADFROMFILE | win32con.LR_DEFAULTSIZE
try:
hicon = LoadImage(hinst, iconPathName, \
win32con.IMAGE_ICON, 0, 0, icon_flags)
except:
hicon = LoadIcon(0, win32con.IDI_APPLICATION)
flags = NIF_ICON | NIF_MESSAGE | NIF_TIP
nid = (self.hwnd, 0, flags, win32con.WM_USER+20, hicon, "tooltip")
Shell_NotifyIcon(NIM_ADD, nid)
Shell_NotifyIcon(NIM_MODIFY, \
(self.hwnd, 0, NIF_INFO, win32con.WM_USER+20,\
hicon, "Balloon tooltip",msg,200,title))
# self.show_balloon(title, msg)
time.sleep(10)
DestroyWindow(self.hwnd)
def OnDestroy(self, hwnd, msg, wparam, lparam):
nid = (self.hwnd, 0)
Shell_NotifyIcon(NIM_DELETE, nid)
PostQuitMessage(0) # Terminate the app.
def balloon_tip(title, msg):
w=WindowsBalloonTip(title, msg)
if __name__ == '__main__':
balloon_tip("Заголовок", "Всплывающее сообщение")
Monch
popup интересовал я так понимаю. можете запустить на винде он сработает
Evgeniy
так ты же его с телефона запускал
Evgeniy
так что он срабатывал где то в COMP на винде
Evgeniy
обсуждать это тут точно не место, удачи с запуском скрипта