Как создать новое изображение докеров на основе существующего изображения?

Я только начал использовать докер. Я создаю изображение с помощью файла Docker. Как я могу создать новое изображение из этого существующего изображения?

Ответ 1

Вы можете создать новое изображение, используя команду docker $ docker build -f docker_filename. , Он сначала прочитает файл Docker, где будут написаны инструкции и автоматически построит изображение. В команде Dockerfile содержатся необходимые команды для сборки изображения. Как только изображение будет построено, ему будет присвоен идентификатор изображения. Изображение может быть перенесено в концентратор реестра докеров. Для этого пользователь должен создать учетную запись в концентраторе реестра докеров.

Пример Dockerfile выглядит так:

FROM docker/whalesay:latest
RUN apt-get -y update && apt-get install -y fortunes
CMD /usr/games/fortune -a | cowsay

Здесь первая инструкция говорит, что новое изображение будет использовать docker/whalesay: последнее изображение. Вторая команда будет запускать две команды. И третья инструкция сообщает, что когда среда настроена, команда "fortune -a" должна запускаться.

Ответ 2

Чтобы создать новый образ из существующего изображения, вам нужно указать "FROM", например:

FROM sergiu/ubuntu
MAINTAINER sergiu

Ответ 3

Допустим, у вас запущен контейнер bd91ca3ca3c8, и вы хотите создать новый образ после внесения изменений в контейнер. Создание другого изображения позволит вам сохранить ваши изменения.

В этом случае вы можете запустить:

docker commit -p -a "author_here" -m "your_message" bd91ca3ca3c8 name_of_new_image

-p приостанавливает контейнер, пока команда commit создает новый образ.

-a позволяет вам предоставить информацию об авторе нового изображения.

-m позволяет добавлять комментарии так же, как в Git.

Ответ 4

Docker commit: создает новое изображение из контейнеров.

Может быть полезно перенести изменения или настройки файлов контейнера в новое изображение. Это позволяет отлаживать контейнер, запуская интерактивную оболочку или экспортировать рабочий набор данных на другой сервер. Как правило, лучше использовать Dockerfiles для управления вашими изображениями документированным и поддерживаемым способом.

Ответ 5

Я также новичок в докере, но то, что я нашел, может быть полезным.

1) всякий раз, когда вы пишете "FROM" и запускаете файл docker, docker просматривает его репозиторий и сначала загружает этот образ. поэтому, если у вас есть локальное изображение, которое вы хотите использовать в "ОТ", оно должно быть загружено.

2) важно указать, какой параметр вы указываете в "FROM", так как если вы даете repo_name или тег неправильный, это выдаст ошибку msg. так что для этого запустите команду "docker images", чтобы увидеть ваше изображение с правильным repo_name и тегом.

3) теперь вы можете запустить новый файл Docker следующим образом:

FROM REPOSITORY:TAG

и это будет работать