Может ли оболочка на моем хосте (с моими настройками )работать с экземпляром докера?

Во-первых, модули по определению не являются частью двоичного кода ядра. Это отдельный двоичный файл, обычно устанавливаемый под /lib/module/<uname -r>/, поэтому удаление их поддержки не сделает двоичный файл ядра легче.

Текущий симптом (пустой экран )слишком широк, чтобы помочь вам.

Я бы посоветовал вам действовать шаг за шагом, :учитывая рабочую конфигурацию ядра, удалять набор параметров за набором параметров и тестировать. Повторяйте до тех пор, пока полученное ядро ​​не перестанет работать или вы не достигнете целевого размера.

0
29.07.2020, 19:25
1 ответ

Если я правильно понял ваш вопрос, вам нужна та же оболочка с той же конфигурацией в вашем контейнере докера, что и в вашей хост-системе.

Вы действительно можете соединить их с помощью томов, но получить это будет сложно и запутанно, чтобы заставить его работать на 100% правильно. Я настоятельно рекомендую установить его и скопировать конфигурацию с вашего хоста.

Предположим, что на вашем хосте вы используете bashв качестве оболочки и хотите использовать контейнер, созданный из образа foo:latest, который основан на Ubuntu.

В этом случае вы можете создать следующееDockerfile:

FROM foo:latest
RUN apt-get update && apt-get -y install bash
COPY.bashrc /root/.bashrc
COPY.profile /root/.profile

Сейчас:

  • Создать каталогnewimage
  • Скопируйте .bashrcи .profileиз вашего домашнего каталога в этот каталог
  • Перейдите в этот каталог и запуститеdocker build -t foo:withbash

Теперь у вас будет образ foo:withbash, такой же, как foo:latest, но он также будет иметь bash с его конфигурацией в вашей хост-системе.

(Тот же трюк можно проделать для zshи других оболочек, Centos и других дистрибутивов, но команды в Dockerfile будут немного отличаться)

Редактировать:Некоторые примечания:

  • В моем dockerfile я предполагаю, что вы будете root в своем контейнере (, что обычно и бывает ). Если вы не являетесь пользователем root в этом контейнере, вы, вероятно, захотите изменить последние 2 строки, чтобы эти файлы копировались в правильный каталог.
  • Вторая строка будет работать для всех образов докеров, основанных на дистрибутивах Debian, Ubuntu или подобных.
    Если он основан на CentOS или аналогичном дистрибутиве, вам понадобится:yum -y update && yum -y install bash
    Если он основан на Alpine, вам понадобитсяRUN apk add --no-cache bash
  • Если вы хотите изменить zsh bashна zshво 2-й и 3-й строке
0
18.03.2021, 23:16

Теги

Похожие вопросы