Используемая там нотация $'...'
- это специальная форма цитирования строки, признанная несколькими оболочками, такими как ksh
(где она и возникла), zsh
и bash
.
excerpt
Строки, которые проверяются на наличие ANSI C-последовательностей. Синтаксис следующий $'string'
$ echo $'hola\n'
hola
$
Контейнер — это просто процесс, работающий в сети и файловой системе «пузырь». Он не зависит ни от каких файлов с хоста. Таким образом, образ контейнера просто должен соответствовать типу его хоста (Linux на Linux и т. д. ). Я запускал контейнеры на основе Debian -на RHEL, а также контейнеры Centos и Centos на Ubuntu.
«Дистрибутив» образа контейнера имеет значение, только если:
apt install
, yum install
и т. д.)glibc
, поэтому обычные приложения Linux требуют специальных компиляций, или следует добавить glib)docker exec...
)и в этом случае вам могут помочь ваши любимые инструменты. ... но это скорее вопрос удобства, а не совместимости.
Если у вас есть несколько разных образов, может быть полезно получить их все из одного и того же базового образа дистрибутива, чтобы позволить Docker совместно использовать общую базу между образами (уменьшение потребностей файловой системы...)
Приложение в контейнере теоретически может полагаться на системный вызов, который требует минимальной версии ядра на хост-компьютере, но на практике это должно быть очень редко.