вторник, 22 сентября 2020 г.

Docker контейнер не может обратиться к внешнему хосту

При вызове утилиты нагрузочного тестирования minio/warp из контейнера:

docker pull minio/warp docker run -it minio/warp mixed --host=external_host:9000 --access-key minio_key --secret-key minio_secret --autoterm

Утилита warp не может соединиться с minio и завершается с ошибкой маршрутизации"No route to host". При этом хост и порт назначения доступны с docker-хоста

Причина в том, что по умолчанию маршрутизация трафика из контейнера во внешний мир запрещена

Быстрый способ ее разрешить разово для контейнера - указать параметр --network="host" при вызове warp:

docker run -it --network="host" minio/warp mixed --host=external_host:9000 --access-key minio_key --secret-key minio_secret --autoterm

вторник, 15 сентября 2020 г.

Ошибка /bin/bash^M: bad interpreter: No such file or directory

Ошибка при запуске в linux shell-скрипта: /bin/bash^M: bad interpreter: No such file or directory Причина в том, что в файле скрипта переводы строк Windows (CRLF). Как убедиться: cat -v filename Покажет наличие в конце строк ^M

вторник, 1 сентября 2020 г.

Поиск подстроки и вывод только ее в файл sed

Исходный файл, содержащий строки вида:

... "hostname":"prod.днс_имя_хоста.ru","version"...

Команда поиска. Ищет ключевое слово hostname и разделители. Выводит найденные имена хостов:

cat ./journald-log.out | sed -n 's/.*hostname":"\(prod.*ru\)","version".*/\1/p' > sed.out

"\1" ссылается на содержимое в круглых скобках "(prod.*ru\)" в выражении поиска и "p" указывает, что его надо вывести (p - print)