@ru_docker

Страница 477 из 610
AstraSerg
05.07.2018
11:25:07
просто непонятно откуда этот volume взялся, и насколько надолго он там хранит инфу
он делается когда делается run. Данные в нём сохранятся пока вы не сделаете rm

Snegoweek
05.07.2018
11:25:41
аа.. ну в приципе если мне надо перезапустить контейнер с другими опциями, то мне надо будет удалить его и запустить образ с новыми, и в новом контейнере данные пропадут, верно я понимаю?

Dan
05.07.2018
11:26:16
просто непонятно откуда этот volume взялся, и насколько надолго он там хранит инфу
Он создаётся по-умолчанию для многих образов. Если его переопределить - то будет там, где укажешь. Если не переопределить - то в /var/lib/docker/volumes и так далее. Если этот volume убить - то все "сохранённые" данные пропадут

Google
Snegoweek
05.07.2018
11:26:49
а как запустить с новыми опциями?

с тем же именем

тот же контейнер

с тем же volume )) ну допустим мне надо портов добавить типа -p 443:443

AstraSerg
05.07.2018
11:28:33
с тем же volume )) ну допустим мне надо портов добавить типа -p 443:443
портов добавить - это беда :) Я что б не презапускать в iptables правила руками добавляю (что б сразу заработало) и в стартовый конфиг параллельно

Snegoweek
05.07.2018
11:28:57
ну это костылик, хотелось больше нативности :)

AstraSerg
05.07.2018
11:28:57
а вообще набор портов я прорабатываю да запуска в прод.

ну это костылик, хотелось больше нативности :)
конечно. Тут либо uptime, либо нативность.

Snegoweek
05.07.2018
11:29:37
а как правильно имейджы стартовать? при ребуте например

просто башскрипт писать? или есть какая-то система встроенная

AstraSerg
05.07.2018
11:31:18
слежение за состоянием контейнеров берёт на себя сам докер демон. Политику - задаёте вы самостоятельно: https://docs.docker.com/engine/reference/run/#restart-policies---restart

Snegoweek
05.07.2018
11:32:57
блин, этож путаница получается. Сделал новый коммит контейнера, старый убрать нужно из авторана, новый добавить.

AstraSerg
05.07.2018
11:33:59
это не авторан, это свойство контейнера. Если контейнер прибить (stop или stop+rm), то и рестартится он не будет

Google
Snegoweek
05.07.2018
11:34:35
а при внеплановом ребуте сервера он типа запустится заново?

Snegoweek
05.07.2018
11:35:06
хорошо, спасибо за ответы

AstraSerg
05.07.2018
11:35:39
да не зачто, обращайтесь :)

Snegoweek
05.07.2018
11:39:10
docker commit test01 test02 docker stop test01; docker run -p 8080:8080 -td test02

вот так попробовал

оно добавило 8080 порт

а нет, не добавило, сорри

AstraSerg
05.07.2018
11:40:09
ну да,, так и должно быть

должно было добавить

Snegoweek
05.07.2018
11:41:07
было так: 0.0.0.0:80->80/tcp стало так: 80/tcp, 0.0.0.0:443->443/tcp 80 остался не прокинут

AstraSerg
05.07.2018
11:41:39
а, ну конечно, каждый раз нужно указывать весь список портов

если у вас он очень динамичный, то можно указать - - network="host" https://docs.docker.com/engine/reference/run/#network-settings

docker commit test01 test02 docker stop test01; docker run -p 8080:8080 -td test02
commit - это только коммит изменений в файловой системе. Все опции нужно указывать при каждом run

Snegoweek
05.07.2018
11:48:55
хмм

а ip откуда берется? если я укажу не из докер сети а из локальной (eth0), то он подхватит?

ща попробуем

AstraSerg
05.07.2018
11:51:15
ща попробуем
Вот это верно! :)

практика - наше всё!

Snegoweek
05.07.2018
12:06:21
docker network create --subnet 10.0.1.0/24 --aux-address "DefaultGatewayIPv4=10.0.1.1" --gateway=10.0.1.70 homenet apt install bridge-utils brctl addif br-c6f37d022cb9 ens18 ip a d 10.0.1.70/24 dev br-c6f37d022cb9 docker run -d --ip 10.0.1.71 --network=homenet nginx-2

Google
Snegoweek
05.07.2018
12:06:28
вот так бриджуем в локалку

AstraSerg
05.07.2018
12:08:44
пуркуа бы и не спа :)

Dmitry
05.07.2018
14:46:17
Ребята, не по теме вопрос, но всё же. В чем отличие git pull --rebase от git rebase?

AstraSerg
05.07.2018
14:47:08
Ребята, не по теме вопрос, но всё же. В чем отличие git pull --rebase от git rebase?
Извините, но https://www.google.com/search?q=%D0%92+%D1%87%D0%B5%D0%BC+%D0%BE%D1%82%D0%BB%D0%B8%D1%87%D0%B8%D0%B5+git+pull+--rebase+%D0%BE%D1%82+git+rebase&ie=utf-8&oe=utf-8&client=ubuntu&channel=fs

Dmitry
05.07.2018
14:47:41
Да гуглил, не выкупаю

думал на пальцах кто объяснит

Vyacheslav
05.07.2018
19:43:37
Результат тестирования powershell Докера на Линуксе разочаровал. Я использовал команду sudo docker run -it -v /home/slavko/leo:/leo microsoft/powershell директория с проектом leo удачно примонтировалась, но запуск batch файла проекта ничего не даёт, а в powershell windows всё хорошо. Стало быть они не совместимы :(

Roman
06.07.2018
10:27:41
Всем привет! есть docker-compose.yml файл запускаю docker-compose up WARNING: Some services (elasticsearch) use the 'deploy' key, which will be ignored. Compose does not support 'deploy' configuration - use docker stack deploy to deploy to a swarm. Recreating elasticsearch-node ... done —------------- описание elasticsearch в файле docker-compose.yml elasticsearch: image: docker.elastic.co/elasticsearch/elasticsearch:5.6.1 container_name: elasticsearch-node ports: - "9200:9200" - "9300:9300" volumes: - ./volumes/es:/usr/share/elasticsearch/data environment: - "discovery.type=single-node" - "xpack.security.enabled=false" - "ES_JAVA_OPTS=-Xms1g -Xmx1g" ulimits: nproc: 3000 nofile: 65536 memlock: -1 deploy: resources: limits: memory: 2g —------------- из текста предупреждения понял что не поддерживается конфигурация deploy не поддерживыается, а что использовать вместо вот поенять не могу

Roman
06.07.2018
11:14:17
version: "3"

AstraSerg
06.07.2018
11:19:02
version: "3"
Судя по https://docs.docker.com/compose/compose-file/ секция deploy валидна для этой версии композа

Roman
06.07.2018
11:20:52
хм.. попробовал вообще удалить её мне посоветовали тоже ошибки вывались, но по эластику Recreating elasticsearch-node ... done elasticsearch-node | [2018-07-06T11:12:46,497][INFO ][o.e.n.Node ] [] initializing ... elasticsearch-node | [2018-07-06T11:12:46,520][WARN ][o.e.b.ElasticsearchUncaughtExceptionHandler] [] uncaught exception in thread [main] elasticsearch-node | org.elasticsearch.bootstrap.StartupException: java.lang.IllegalStateException: Failed to create node environment elasticsearch-node | at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:136) ~[elasticsearch-5.6.1.jar:5.6.1] elasticsearch-node | at org.elasticsearch.bootstrap.Elasticsearch.execute(Elasticsearch.java:123) ~[elasticsearch-5.6.1.jar:5.6.1] elasticsearch-node | at org.elasticsearch.cli.EnvironmentAwareCommand.execute(EnvironmentAwareCommand.java:67) ~[elasticsearch-5.6.1.jar:5.6.1] elasticsearch-node | at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:134) ~[elasticsearch-5.6.1.jar:5.6.1] elasticsearch-node | at org.elasticsearch.cli.Command.main(Command.java:90) ~[elasticsearch-5.6.1.jar:5.6.1] elasticsearch-node | at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:91) ~[elasticsearch-5.6.1.jar:5.6.1] elasticsearch-node | at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:84) ~[elasticsearch-5.6.1.jar:5.6.1] elasticsearch-node | Caused by: java.lang.IllegalStateException: Failed to create node environment elasticsearch-node | at org.elasticsearch.node.Node.<init?Node.java:268) ~[elasticsearch-5.6.1.jar:5.6.1] elasticsearch-node | at org.elasticsearch.node.Node.<init?Node.java:245) ~[elasticsearch-5.6.1.jar:5.6.1] elasticsearch-node | at org.elasticsearch.bootstrap.Bootstrap$5.<init?Bootstrap.java:233) ~[elasticsearch-5.6.1.jar:5.6.1] elasticsearch-node | at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:233) ~[elasticsearch-5.6.1.jar:5.6.1] elasticsearch-node | at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:342) ~[elasticsearch-5.6.1.jar:5.6.1] elasticsearch-node | at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:132) ~[elasticsearch-5.6.1.jar:5.6.1] elasticsearch-node | ... 6 more elasticsearch-node | Caused by: java.nio.file.AccessDeniedException: /usr/share/elasticsearch/data/nodes elasticsearch-node | at sun.nio.fs.UnixException.translateToIOException(UnixException.java:84) ~[?:?] elasticsearch-node | at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:102) ~[?:?] elasticsearch-node | at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:107) ~[?:?] elasticsearch-node | at sun.nio.fs.UnixFileSystemProvider.createDirectory(UnixFileSystemProvider.java:384) ~[?:?] elasticsearch-node | at java.nio.file.Files.createDirectory(Files.java:674) ~[?:1.8.0_141] elasticsearch-node | at java.nio.file.Files.createAndCheckIsDirectory(Files.java:781) ~[?:1.8.0_141] elasticsearch-node | at java.nio.file.Files.createDirectories(Files.java:767) ~[?:1.8.0_141] elasticsearch-node | at org.elasticsearch.env.NodeEnvironment.<init?NodeEnvironment.java:221) ~[elasticsearch-5.6.1.jar:5.6.1] elasticsearch-node | at org.elasticsearch.node.Node.<init?Node.java:265) ~[elasticsearch-5.6.1.jar:5.6.1] elasticsearch-node | at org.elasticsearch.node.Node.<init?Node.java:245) ~[elasticsearch-5.6.1.jar:5.6.1] elasticsearch-node | at org.elasticsearch.bootstrap.Bootstrap$5.<init?Bootstrap.java:233) ~[elasticsearch-5.6.1.jar:5.6.1] elasticsearch-node | at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:233) ~[elasticsearch-5.6.1.jar:5.6.1] elasticsearch-node | at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:342) ~[elasticsearch-5.6.1.jar:5.6.1] elasticsearch-node | at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:132) ~[elasticsearch-5.6.1.jar:5.6.1] elasticsearch-node | ... 6 more elasticsearch-node exited with code 1

AstraSerg
06.07.2018
11:22:02
хм.. попробовал вообще удалить её мне посоветовали тоже ошибки вывались, но по эластику Recreating elasticsearch-node ... done elasticsearch-node | [2018-07-06T11:12:46,497][INFO ][o.e.n.Node ] [] initializing ... elasticsearch-node | [2018-07-06T11:12:46,520][WARN ][o.e.b.ElasticsearchUncaughtExceptionHandler] [] uncaught exception in thread [main] elasticsearch-node | org.elasticsearch.bootstrap.StartupException: java.lang.IllegalStateException: Failed to create node environment elasticsearch-node | at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:136) ~[elasticsearch-5.6.1.jar:5.6.1] elasticsearch-node | at org.elasticsearch.bootstrap.Elasticsearch.execute(Elasticsearch.java:123) ~[elasticsearch-5.6.1.jar:5.6.1] elasticsearch-node | at org.elasticsearch.cli.EnvironmentAwareCommand.execute(EnvironmentAwareCommand.java:67) ~[elasticsearch-5.6.1.jar:5.6.1] elasticsearch-node | at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:134) ~[elasticsearch-5.6.1.jar:5.6.1] elasticsearch-node | at org.elasticsearch.cli.Command.main(Command.java:90) ~[elasticsearch-5.6.1.jar:5.6.1] elasticsearch-node | at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:91) ~[elasticsearch-5.6.1.jar:5.6.1] elasticsearch-node | at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:84) ~[elasticsearch-5.6.1.jar:5.6.1] elasticsearch-node | Caused by: java.lang.IllegalStateException: Failed to create node environment elasticsearch-node | at org.elasticsearch.node.Node.<init?Node.java:268) ~[elasticsearch-5.6.1.jar:5.6.1] elasticsearch-node | at org.elasticsearch.node.Node.<init?Node.java:245) ~[elasticsearch-5.6.1.jar:5.6.1] elasticsearch-node | at org.elasticsearch.bootstrap.Bootstrap$5.<init?Bootstrap.java:233) ~[elasticsearch-5.6.1.jar:5.6.1] elasticsearch-node | at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:233) ~[elasticsearch-5.6.1.jar:5.6.1] elasticsearch-node | at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:342) ~[elasticsearch-5.6.1.jar:5.6.1] elasticsearch-node | at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:132) ~[elasticsearch-5.6.1.jar:5.6.1] elasticsearch-node | ... 6 more elasticsearch-node | Caused by: java.nio.file.AccessDeniedException: /usr/share/elasticsearch/data/nodes elasticsearch-node | at sun.nio.fs.UnixException.translateToIOException(UnixException.java:84) ~[?:?] elasticsearch-node | at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:102) ~[?:?] elasticsearch-node | at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:107) ~[?:?] elasticsearch-node | at sun.nio.fs.UnixFileSystemProvider.createDirectory(UnixFileSystemProvider.java:384) ~[?:?] elasticsearch-node | at java.nio.file.Files.createDirectory(Files.java:674) ~[?:1.8.0_141] elasticsearch-node | at java.nio.file.Files.createAndCheckIsDirectory(Files.java:781) ~[?:1.8.0_141] elasticsearch-node | at java.nio.file.Files.createDirectories(Files.java:767) ~[?:1.8.0_141] elasticsearch-node | at org.elasticsearch.env.NodeEnvironment.<init?NodeEnvironment.java:221) ~[elasticsearch-5.6.1.jar:5.6.1] elasticsearch-node | at org.elasticsearch.node.Node.<init?Node.java:265) ~[elasticsearch-5.6.1.jar:5.6.1] elasticsearch-node | at org.elasticsearch.node.Node.<init?Node.java:245) ~[elasticsearch-5.6.1.jar:5.6.1] elasticsearch-node | at org.elasticsearch.bootstrap.Bootstrap$5.<init?Bootstrap.java:233) ~[elasticsearch-5.6.1.jar:5.6.1] elasticsearch-node | at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:233) ~[elasticsearch-5.6.1.jar:5.6.1] elasticsearch-node | at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:342) ~[elasticsearch-5.6.1.jar:5.6.1] elasticsearch-node | at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:132) ~[elasticsearch-5.6.1.jar:5.6.1] elasticsearch-node | ... 6 more elasticsearch-node exited with code 1
Ну так это джавайский стак трейс, он не имеет отношения к докеру

Roman
06.07.2018
11:23:17
да думаю так и есть

Николай
09.07.2018
14:58:02
Привет. Пробую сделать docker-compose + consul + registrator для веб-риложения. Consul на хостовой системе, Registrator с internal=false. Столкнулся с проблемой, что когда контейнер рестартует с другим портом (docker-compose down docker-compose up -d или неожиданное завершение compose), в consul-e остаётся старый сервис со старым портом, которого уже нет. Что может быть не так или это нормально? Всё крайних версий.

AstraSerg
09.07.2018
20:18:24
Добрый вечер. А что в логах регистратора? docker logs registrator

Crypt
09.07.2018
21:41:36
как можно почистить логи контейнера?

Vasiliy
09.07.2018
22:02:37
Если ты про json файл в rootfs, то просто cat /dev/null

Google
Crypt
09.07.2018
22:29:44
Admin
ERROR: S client not available

Vasiliy
09.07.2018
22:37:38
про выдачу docker logs ...
Да, найди контейнер по id, найди его rootfs и сбрось лог

Crypt
09.07.2018
22:38:54
Да, найди контейнер по id, найди его rootfs и сбрось лог
на стеке нашел echo "" | sudo tee $(docker inspect --format='{{.LogPath}}' dyndns)

Николай
10.07.2018
06:18:54
Добрый вечер. А что в логах регистратора? docker logs registrator
Ничего интересного. Суть в том, что я делаю docker-compose down, контейнеры http и registrator останавливаются и удаляются, а сервисы в консуле удалить некому. При следующем запуске registrator ничего не знает о предыущих сервисах и плодит новые.

Boris
10.07.2018
06:47:22
Всем привет! Подскажите, что делать? Ситуация такая: Освобождал место в /var/lib/docker перед этим выключив сервис через systemctl. После запуска сервиса ликера, увидев, что результатов нет, попытался удалить /var/lib/docker/aufs увидев, что он занимает плотное количество места(и не зная, что так делать не нужно при запущенном сервисе). После - удалилась папка aufs/layers. Проблема: Теперь при повторном билде имэджа из докерфайла выводит ошибку: open /var/lib/docker/aufs/layers/<id>: no such file or directory. Судя по-всему он ищет старый лэйер и не может найти, так как я удалил его. Можно ли исправить эту ошибку не переустанавливая сам докер? Что лучше сделать? Спасибо

Николай
10.07.2018
07:07:32
Так регистратор не нужно останавливать.
Ну допустим сервер ребутнётся или docker-compose down сделаем

AstraSerg
10.07.2018
07:14:03
Ну допустим сервер ребутнётся или docker-compose down сделаем
На случай падения подсказать не могу. А вот по поводу docker-compose down я б не держал сервис и регистратор в одном композе

AstraSerg
10.07.2018
07:18:02
Registrator в отдельно контейнере запускать?
Ну на столько я понял, он у вас и так в отдельном контейнере. Если нет, то конечно в отдельном.

Николай
10.07.2018
07:19:33
Ну на столько я понял, он у вас и так в отдельном контейнере. Если нет, то конечно в отдельном.
Имеется ввиду у меня сейчас registrator запускался в рамках compose, стоит ли его запускать отдельно по одному на хост. Планируется на одном хосте запускать несколько приложений в compose

AstraSerg
10.07.2018
07:25:15
Имеется ввиду у меня сейчас registrator запускался в рамках compose, стоит ли его запускать отдельно по одному на хост. Планируется на одном хосте запускать несколько приложений в compose
Я не в курсе хорошоая ли это практика (пусть более опытные коллеги поправят, если не прав), но у меня сделано именно так: на каждом хосте свой регистратор и консул. И они не зависят от состояния приложений. То есть живут даже если приложения останавливаются или мигрируют. Проблем, подобных вашей, пока не испытывал.

AstraSerg
10.07.2018
07:31:55
Они в контейнерах или просто на хосте? Сколько всего примерно контейнеров на хосте?
Регистраторы и крнсулы в контейнерах. Всего контейнеров у меня не много, 5-10 на хост.

Николай
10.07.2018
07:32:22
Ок, спасибо!

AstraSerg
10.07.2018
07:33:04
Юр велкам :)

@borgkun Погодите, ведь есть health checks. Check Definition - Consul by HashiCorp https://www.consul.io/docs/agent/checks.html

Google
AstraSerg
10.07.2018
08:11:45
@borgkun похоже на решение вашей проблемы.

Николай
10.07.2018
08:12:30
AstraSerg
10.07.2018
08:14:40
Да, он чекает, и в итоге остаются дохлые сервисы
Ну дохлые — не проблема же, врядли консул отдает информацию о них, как о живых.

Sailor
10.07.2018
08:28:17
Может кто подскажет не по теме. Чекаю место на диске пинговалкой *вырезска с схшника* per=$(ssh -oStrictHostKeyChecking=no ubuntu@${hosts[$h]} df -H | grep '^/dev/xvda1' | awk '{ print $5//\%/ }') Есть какая та альтернатива df -H ибо бывали случаи что дф говорил свободно 60%, а по факту место занято под 100%

Sailor
10.07.2018
08:44:35
Aleksei
10.07.2018
08:50:21
можно совместить проверку в 1 комманду?
Это же две цифры разные, разные per. Даже если в одну команду получишь, то их разделить надо (запятой, пробелом. \n и т.п.)

Не хочется два раза подключаться?

AstraSerg
10.07.2018
09:01:18
Это же две цифры разные, разные per. Даже если в одну команду получишь, то их разделить надо (запятой, пробелом. \n и т.п.)
Ну, в принципе можно объединить и при помощи && или || Но сложноватый ванлайнер получится.

Navern
10.07.2018
09:02:28
можно совместить проверку в 1 комманду?
Можно) Пихаешь в крон таску которая пишет в файлик, потом заходишь ssh и катаешь значение)

Страница 477 из 610