Во-первых, модули по определению не являются частью двоичного кода ядра. Это отдельный двоичный файл, обычно устанавливаемый под /lib/module/<uname -r>/
, поэтому удаление их поддержки не сделает двоичный файл ядра легче.
Текущий симптом (пустой экран )слишком широк, чтобы помочь вам.
Я бы посоветовал вам действовать шаг за шагом, :учитывая рабочую конфигурацию ядра, удалять набор параметров за набором параметров и тестировать. Повторяйте до тех пор, пока полученное ядро не перестанет работать или вы не достигнете целевого размера.
Если я правильно понял ваш вопрос, вам нужна та же оболочка с той же конфигурацией в вашем контейнере докера, что и в вашей хост-системе.
Вы действительно можете соединить их с помощью томов, но получить это будет сложно и запутанно, чтобы заставить его работать на 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 будут немного отличаться)
Редактировать:Некоторые примечания:
yum -y update && yum -y install bash
RUN apk add --no-cache bash
bash
на zsh
во 2-й и 3-й строке