Alex
07.06.2019
15:58:47
12
George
07.06.2019
16:15:31
sakura
07.06.2019
21:01:23
if i understand russian, is it problem if i speak english (i am slovak, i am not able to write fast in russian)
if it is a problem i just go away
Google
Pavel
07.06.2019
21:21:06
sakura
07.06.2019
21:30:45
пытаясь научиться работать с докером, у меня есть существующий dockerimage, который мне нужно установить на другой сервер
(sorry for my russian, i am trying)
Anton
07.06.2019
21:37:09
Всем привет! Присутствует ли в докере возможность с локального докера настроить деплой на сервер
Pavel
07.06.2019
22:23:35
sakura
07.06.2019
22:40:19
Спасибо
Maxim
08.06.2019
03:55:59
Павел
08.06.2019
06:22:54
selenium:
image: selenium/hub:latest
expose:
- "4444"
environment:
- JVM_OPTS=-Xmx2048m
Maxim
08.06.2019
06:38:11
Павел
08.06.2019
06:38:48
Maxim
08.06.2019
06:39:22
https://github.com/aerokube/selenoid
Google
Павел
08.06.2019
06:41:45
картинкой лучше
selenium_1 | 2019-06-08 06:22:27,466 INFO Included extra file "/etc/supervisor/conf.d/selenium-hub.conf" during parsing
selenium_1 | 2019-06-08 06:22:27,475 INFO supervisord started with pid 6
selenium_1 | 2019-06-08 06:22:28,478 INFO spawned: 'selenium-hub' with pid 9
selenium_1 | Starting Selenium Hub with configuration:
selenium_1 | 2019-06-08 06:22:28,514 INFO success: selenium-hub entered RUNNING state, process has stayed up for > than 0 seconds (startsecs)
selenium_1 | {
selenium_1 | "host": "0.0.0.0",
selenium_1 | "port": 4444,
selenium_1 | "role": "hub",
selenium_1 | "maxSession": 5,
selenium_1 | "newSessionWaitTimeout": -1,
selenium_1 | "capabilityMatcher": "org.openqa.grid.internal.utils.DefaultCapabilityMatcher",
selenium_1 | "throwOnCapabilityNotPresent": true,
selenium_1 | "jettyMaxThreads": -1,
selenium_1 | "cleanUpCycle": 5000,
selenium_1 | "browserTimeout": 0,
selenium_1 | "timeout": 1800,
selenium_1 | "debug": false
selenium_1 | }
selenium_1 | 06:22:30.501 INFO [GridLauncherV3.parse] - Selenium server version: 3.141.59, revision: e82be7d358
selenium_1 | 06:22:30.736 INFO [GridLauncherV3.lambda$buildLaunchers$5] - Launching Selenium Grid hub on port 4444
selenium_1 | library initialization failed - unable to allocate file descriptor table - out of memory/opt/bin/start-selenium-hub.sh: line 21: 13 Aborted (core dumped) java ${JAVA_OPTS} -jar /opt/selenium/selenium-server-standalone.jar -role hub -hubConfig ${CONF} ${SE_OPTS}
selenium_1 | 2019-06-08 06:22:31,804 INFO exited: selenium-hub (exit status 134; not expected)
не получается картинка
оперативки достаточно, на диске места тоже достаточно
Stanislav
08.06.2019
06:56:18
df -iH
Павел
08.06.2019
07:02:26
если в самом контейнере
seluser@b55aec4c432e:/$ df -iH
Filesystem Inodes IUsed IFree IUse% Mounted on
overlay 31M 229k 31M 1% /
tmpfs 2.1M 16 2.1M 1% /dev
tmpfs 2.1M 16 2.1M 1% /sys/fs/cgroup
/dev/sdb2 31M 229k 31M 1% /etc/hosts
shm 2.1M 1 2.1M 1% /dev/shm
tmpfs 2.1M 1 2.1M 1% /sys/firmware
seluser@b55aec4c432e:/$ df -H
Filesystem Size Used Avail Use% Mounted on
overlay 491G 101G 366G 22% /
tmpfs 8.4G 0 8.4G 0% /dev
tmpfs 8.4G 0 8.4G 0% /sys/fs/cgroup
/dev/sdb2 491G 101G 366G 22% /etc/hosts
shm 68M 0 68M 0% /dev/shm
tmpfs 8.4G 0 8.4G 0% /sys/firmware
Maxim
08.06.2019
08:39:04
Павел
08.06.2019
08:40:22
Как понять что именно не хватает?
George
08.06.2019
08:41:02
free -m
в момент запуска selenium
а еще луше htop запусти и смотри
Maxim
08.06.2019
08:43:47
Павел
08.06.2019
08:45:22
смотреть в контейнере?
George
08.06.2019
08:46:29
Павел
08.06.2019
08:46:54
но памяти помойка
sakura
08.06.2019
08:46:57
George
08.06.2019
08:47:01
что значит помойка?
Google
Павел
08.06.2019
08:49:02
4Гб точно не использовано
George
08.06.2019
08:49:32
дай выхлоп посмотреть
и еще селениум жрет памяти не в себя
Павел
08.06.2019
08:50:02
выхлоп лога?
George
08.06.2019
08:50:31
типикал ошибка - интепретация результатов команд
Павел
08.06.2019
08:51:18
free -m
total used free shared buff/cache available
Mem: 15939 8293 1720 940 5925 6367
Swap: 2047 319 1728
selenium_1 | 08:48:29.346 INFO [GridLauncherV3.parse] - Selenium server version: 3.141.59, revision: e82be7d358
selenium_1 | 08:48:29.454 INFO [GridLauncherV3.lambda$buildLaunchers$5] - Launching Selenium Grid hub on port 4444
selenium_1 | library initialization failed - unable to allocate file descriptor table - out of memory/opt/bin/start-selenium-hub.sh: line 21: 19 Aborted (core dumped) java ${JAVA_OPTS} -jar /opt/selenium/selenium-server-standalone.jar -role hub -hubConfig ${CONF} ${SE_OPTS}
selenium_1 | 2019-06-08 08:48:30,279 INFO exited: selenium-hub (exit status 134; not expected)
George
08.06.2019
08:53:14
да, ты прав, памяти вагон
https://superuser.com/questions/1413352/running-jdk-8-in-docker-suddenly-broken-on-arch-linux-with-unable-to-allocate-f
гуголь
-ulimit nofile=122880:122880
это не с памятью проблема, а с лимитами, очевидно
https://github.com/neo4j/docker-neo4j/issues/155
Павел
08.06.2019
09:07:18
Borik
08.06.2019
10:04:54
привет!
не могу поставить внутрь докера requests-unixsocket. все остальное ставится без проблем, а это яйцо не работает (
на хостовую машину ставится. а внутрь докера - нет. причем оно не вылетает с ошибкой, а просто затыкается. ставлю так:
pip3 install requests-unixsocket
пока оно там висит, заходил в этот контейнер ручками и пытался сделать pip3 -vv install requests-unixsocket, на выходе вот такое:
https://pastebin.com/qTYqidXu
подозреваю нехватку каких-то ресурсов, но не могу понять, каких :(
George
08.06.2019
10:06:26
Сколько памяти на машине ? Процов ?
Borik
08.06.2019
10:07:01
памяти 8 гиг, процов два реальных
Google
George
08.06.2019
10:07:23
Попробуй на этапе билда
Borik
08.06.2019
10:08:01
так на этапе билда и виснет...
поскольку контейнер для билда создается и подвисает, то я в него могу подключиться руками и там что-то сделать.
нет, вру, 6 гиг и два проца.
George
08.06.2019
10:14:16
А докерфайл покажи
Borik
08.06.2019
10:18:19
все останавливается перед ...
... я заменил то, что nda
George
08.06.2019
10:27:53
слишком много RUN
Borik
08.06.2019
10:42:43
эм... проблема наблюдается только на убунте, на дебиане и на винде он собирается без проблем.
ну и, собственно, не очень понятно, как избавиться от ранов...
и, опять же, чем плохо много ранов?
George
08.06.2019
10:44:48
я сейчас проверяю
ща погоди
Borik
08.06.2019
10:45:35
угу...
George
08.06.2019
10:46:02
итак
я взял чистый дебиан стреч
root@db7c6d5fb8b9:/# python3 -m pip install requests-unixsocket
Collecting requests-unixsocket
Downloading https://files.pythonhosted.org/packages/f3/94/67d781fb32afbee0fffa0ad9e16ad0491f1a9c303e14790ae4e18f11be19/requests-unixsocket-0.1.5.tar.gz
Collecting requests>=1.1 (from requests-unixsocket)
Downloading https://files.pythonhosted.org/packages/51/bd/23c926cd341ea6b7dd0b2a00aba99ae0f828be89d72b2190f27c11d4b7fb/requests-2.22.0-py2.py3-none-any.whl (57kB)
100% |################################| 61kB 961kB/s
Collecting urllib3>=1.8 (from requests-unixsocket)
Downloading https://files.pythonhosted.org/packages/e6/60/247f23a7121ae632d62811ba7f273d0e58972d75e58a94d329d51550a47d/urllib3-1.25.3-py2.py3-none-any.whl (150kB)
100% |################################| 153kB 1.1MB/s
Collecting certifi>=2017.4.17 (from requests>=1.1->requests-unixsocket)
Downloading https://files.pythonhosted.org/packages/60/75/f692a584e85b7eaba0e03827b3d51f45f571c2e793dd731e598828d380aa/certifi-2019.3.9-py2.py3-none-any.whl (158kB)
100% |################################| 163kB 3.8MB/s
Collecting idna<2.9,>=2.5 (from requests>=1.1->requests-unixsocket)
Downloading https://files.pythonhosted.org/packages/14/2c/cd551d81dbe15200be1cf41cd03869a46fe7226e7450af7a6545bfc474c9/idna-2.8-py2.py3-none-any.whl (58kB)
100% |################################| 61kB 2.7MB/s
Collecting chardet<3.1.0,>=3.0.2 (from requests>=1.1->requests-unixsocket)
Downloading https://files.pythonhosted.org/packages/bc/a9/01ffebfb562e4274b6487b4bb1ddec7ca55ec7510b22e4c51f14098443b8/chardet-3.0.4-py2.py3-none-any.whl (133kB)
100% |################################| 143kB 3.3MB/s
Building wheels for collected packages: requests-unixsocket
Running setup.py bdist_wheel for requests-unixsocket ... done
Stored in directory: /root/.cache/pip/wheels/ed/b6/4d/69a487a03941e256568ad8155ffdf1374f5ed90f1c82bf5160
Successfully built requests-unixsocket
Installing collected packages: certifi, urllib3, idna, chardet, requests, requests-unixsocket
Found existing installation: idna 2.2
Not uninstalling idna at /usr/lib/python3/dist-packages, outside environment /usr
Successfully installed certifi-2019.3.9 chardet-3.0.4 idna-2.8 requests-2.22.0 requests-unixsocket-0.1.5 urllib3-1.25.3
root@db7c6d5fb8b9:/#
все ок
Google
George
08.06.2019
10:46:18
root@db7c6d5fb8b9:/# history
1 python3
2 apt update && apt install python3
3 python3 --version
4 python3 -m pip
5 apt install python3-pip
6 python3 -m pip
7 python3 -m pip install requests-unixsocket
8 history
все что я запустил в контейнере
я тебе рекомендую поменять порядок установки пакетов
и, опять же, чем плохо много ранов?
смотри. В принципе это ничем не плохо. Кроме того обстоятельства, что каждый RUN создает новый слой. Общая линия партии - меньше слоев - лучше. Но перебарщивать не надо, т.к. слои между разными образами шарятся, поэтому если сделаешь слишком мало слоев - у тебя кэширование вылетает в трубу
второй нюанс заключается в том, что если ты гонишься за минимальным размером образа, то меньше RUN лучше, т.к. те файлы, которые были созданы, а потом удалены в рамках одного RUN - они не занимают места
представь себе, что докер образ - это моментальный снимок файловой системы (по сути это так оно и есть)
Borik
08.06.2019
10:49:52
основную рекомендацию понял, ща попробую...
у меня докер используется для масштабирования разработки, поэтому мне кеширование надо постольку поскольку
George
08.06.2019
10:49:53
RUN echo "net.core.somaxconn=65535" >> /etc/sysctl.conf
- это тоже ?, т.к. ты sysctl можешь задавать при запуске контейнера в docker run .....
еще ты локаль генеришь в конце, а лучше ее генерить в начале (это для особо е*;?№*;?№* софта важно)
что еще. У меня такое ощущение, что ты в докере пытаешься стартовать несколько сервисов одновременно - и nginx, и tarantool, и maria .... хм
это оправданно?
CMD /start.py
это тоже ?
потому что если ты захочешь передать аргументы командной строки, то они уйдут в /bin/bash, а не в start.py
лучше писать CMD ["/start.py"]
а еще лучше подумать и решить, что есть переменная часть команды запуска образа, а что постоянная
и постоянную вынести в ENTRYPOINT