Как создать новое изображение докеров на основе существующего изображения?
Я только начал использовать докер. Я создаю изображение с помощью файла 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
и это будет работать