-
-
Notifications
You must be signed in to change notification settings - Fork 115
feat(Docker): Docker Support #418
base: beta
Are you sure you want to change the base?
Conversation
tools/its.py
Outdated
@@ -186,6 +186,9 @@ def get_chromedriver(self, headless): | |||
|
|||
# deaktiviere Selenium Logging | |||
chrome_options.add_argument('disable-infobars') | |||
chrome_options.add_argument("--headless") | |||
chrome_options.add_argument("--no-sandbox") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
chrome_options.add_argument("--no-sandbox")
hatten wir mal und bewusst wieder rausgenommen, um Malware zu vermeiden. Ist das zwingend notwendig für Docker?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Eine gute Frage, ich hab das ohne zu hinterfragen immer rein gemacht. Hier ist ein Argument von jemanden anderen.
https://github.com/elgalu/docker-selenium
Docker ist ja eine sandbox und es läuft so und so alles unter root. Ich denke das ist z. B., wenn man unter Windows normal läuft viel wichtiger. Natürlich müsste man eigentlich die Sache etwas modifizieren. Vielleicht einen --docker Parameter der die sandbox reinmacht und ohne Frage die json nimmt.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Headless funktioniert leider nicht. Kann dann maximal zur Terminsuche genutzt werden. Buchung und Code-Gen benötigt eine GUI.
tools/its.py
Outdated
@@ -204,7 +207,7 @@ def get_chromedriver(self, headless): | |||
|
|||
chrome_options.headless = headless | |||
|
|||
return Chrome(self.get_chromedriver_path(), options=chrome_options) | |||
return Chrome(options=chrome_options) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
warum wird der Pfad hier rausgenommen?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Zeile 16 im Docker File war nicht erfolgreich. Im Docker Container ist der chrome driver schon da und geht ohne den Parameter. Aber ja das muss man besser machen.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hast du die Umgebungsvariable VACCIPY_CHROMEDRIVER
verwendet?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hast du die Umgebungsvariable
VACCIPY_CHROMEDRIVER
verwendet?
Ist ja im Dockerfile prinzipiell drin.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Jetzt bin ich wieder hier, wenn die Zeile wieder die Methode aufruft.
2021-06-10 13:52:46.857 impfterminservice [err] [*C4Q2 | 68163, 69124, 69469] (unknown error: DevToolsActivePort file doesn't exist)
(The process started from chrome location /usr/bin/chromium is no longer running, so ChromeDriver is assuming that Chrome has crashed.)
ddf112f
to
0431731
Compare
docker-compose.yml
Outdated
- 5901:5901 | ||
- 6901:6901 | ||
volumes: | ||
- ./vaccipy/kontaktdaten.json/:/app/kontaktdaten.json |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Newline am Ende der Datei fehlt
- ./vaccipy/kontaktdaten.json/:/app/kontaktdaten.json | |
- ./vaccipy/kontaktdaten.json/:/app/kontaktdaten.json | |
tools/its.py
Outdated
@@ -186,6 +186,9 @@ def get_chromedriver(self, headless): | |||
|
|||
# deaktiviere Selenium Logging | |||
chrome_options.add_argument('disable-infobars') | |||
chrome_options.add_argument("--headless") | |||
chrome_options.add_argument("--no-sandbox") | |||
chrome_options.add_argument("--disable-dev-shm-usage") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Was ist das? Ich glaube wir hatten das schon mal aktiviert. Warum wurde es wieder deaktiviert?
Ich würde vorschlagen, dass wir den PR ablehnen. Wer das mit Docker verwenden will, kann ein out-of-tree Dockerfile maintainen. Wenn wir den PR annehmen, bekommen wir zusätzliche Issues, wenn das Dockerfile nicht mehr funktioniert. |
Bin eigentlich deiner Meinung, hab nur in Slack gesehen, dass Leute Interesse haben. Ich will das auf meinem Server, wo ein Container OS läuft, laufen lassen. Das ist ein sehr persönlicher Fall und ist für den einfachen User nicht zu empfehlen. Falls einer fragt, kann man darauf verweisen. |
71f0b1f
to
3864649
Compare
So könnte ein Docker Support aussehen.
Außerdem ist die novnc zwar da, läuft aber nicht. Ich hab es auf die schnelle mit VNC-Viewer gemacht, was keine Lösung ist. Ich hatte zwei bots laufen und musste deshalb die Port config nach außen holen. Ist das eine gute Idee? Lieber alles auf eine Instanz optimieren?