Можно ли постоянно устанавливать приложения в док-контейнер?

Если ваш initrd использует dracut, вам нужно создать символическую ссылку /dev/rootна монтируемое устройство (, но не для монтирования ). В вашем случае:

ln -s /dev/sdb1 /dev/root
1
02.11.2019, 23:38
1 ответ

СDockerfile

Это "нормальный" способ. В основном вы создаете файл (, обычно называемый Dockerfile), который содержит:

# The image we will start with:
FROM ubuntu:16.04

# Install packages, by running a command
RUN apt update && apt install package1 package2

# You can also copy you own script/config files
COPY startup.sh /startup.sh

Затем вы «компилируете» свой образ (, предполагая, что каталог с Dockerfile и скриптом является текущим каталогом):

docker build -t my_image.

Тогда используйте свое изображение:

docker run my_image

Полный синтаксис Dockerfiles здесь

Преимущества этого метода:

  • Dockerfile — это ваш «рецепт» рабочего контейнера, не нужно делать примечания и т. д.Так вы получите документированный и поддерживаемый контейнер.
  • Вы можете легко перейти на новую версию базового образа
  • Вы можете поделиться образом или перенести его на другой компьютер, просто передав файлы докера и несколько файлов, которые вы скопировали в контейнер.

Сdocker commit

Вы также можете создать образ из содержимого текущего контейнера:

docker commit <containerId> <imageName>

Проблема в том, что если образ работает, то толком не знаешь, что там внутри, да и передать не просто (это немаленький файл)

Примечания:

  • Пока вы не измените USER, вы являетесь пользователем root в контейнере, поэтому обычно вам не нужноsudo
  • Вам тоже не нужно nano, отредактируйте файлы вне контейнера и скопируйте их с помощью Dockerfile. Контейнер - вещь на выброс -...
  • Используя собственный образ, контейнер запускается намного быстрее, даже если нет сети, так как вам не нужно ничего переустанавливать.
  • Контейнер можно -выбросить, его трудно сделать резервной копией или перенести.
5
27.01.2020, 23:22

Теги

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