🐳 Как обновить / добавить файл в Docker образ

by itisgood
В этом руководстве обсуждается, как изменить стандартный образ Docker, скачанныйй из публичного репозитория Docker-хаб.
Для примера мы скачаем последний образ CentOS, добавим тестовый каталог «test_dir» и создадим в нем тестовый файл «test_fiel».

Добавление каталога и файла образ Docker

1. Первый шаг – скачать последний образ CentOS  с docker hub.
# docker pull centos
Using default tag: latest
latest: Pulling from library/centos
d9aaf4d82f24: Pull complete 
Digest: sha256:4565fe2dd7f4770e825d4bd9c761a81b26e49cc9e3c9631c58cfc3188be9505a
Status: Downloaded newer image for centos:latest
# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
centos              latest              d123f4e55e12        2 weeks ago         197MB
2. Как только образ CentOS будет загружен, мы запустим Docker контейнер, основанный на этом образе с именем «centos_test».
# docker run -it --name="centos_test" centos:latest /bin/bash
[root@e121d03b20dc /]#
3. Теперь давайте создадим новый каталог «test_dir» с файлом «test_file».
Также добавим случайный текст в файл test_file.
[root@e121d03b20dc /]# mkdir test_dir
[root@e121d03b20dc /]# cd test_dir
[root@e121d03b20dc test_dir]# echo "Случайный текст" > test_file         
[root@e121d03b20dc test_dir]# cat test_file
This is a sample text
[root@e121d03b20dc test_dir]# ls -lrt
total 4
-rw-r--r--. 1 root root 22 Nov 19 16:12 test_file
4. Следующий шаг – создать новый образ с помощью команды docker commit, используя только что созданный контейнер Docker.
Команда «docker commit» запускается с хоста docker, а не из самого контейнера docker.
# docker commit -m="This a test image" centos_test new_centos_image
sha256:93603e53ff5329b314da097e3e5607b60cd1ce126f48cae542c083c715f069f7
где:
  • m = «Thi is test image»: это сообщение о коммите.
  • centos_test: имя контейнера, из которого вы создаете образ.
  • new_centos_image: имя нового созданного образа.
5. После выполнения вышеуказанной команды вы увидите новый образ «centos_image» в списке образов докеров, доступных локально в системе.
# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
new_centos_image    latest              93603e53ff53        52 seconds ago      197MB
centos              latest              d123f4e55e12        2 weeks ago         197MB

Тестирование нового образа Docker

Теперь мы проверим вновь созданный образ, запустив на нем новый контейнер.

Мы должны быть в состоянии перечислить каталог и файл, созданные в новом контейнере.

1. Создайте новый контейнер из вновь созданного образа

# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
new_centos_image    latest              93603e53ff53        11 minutes ago      197MB
centos              latest              d123f4e55e12        2 weeks ago         197MB
# docker run -it --name="image_testing" new_centos_image:latest /bin/bash
[root@24bd49cd0e0e /]#
2. Проверьте каталог и файл, который мы создали ранее.
[root@24bd49cd0e0e /]# ls -lrt test_dir
total 4
-rw-r--r--. 1 root root 22 Nov 19 17:09 test_file
[root@24bd49cd0e0e /]# cd test_dir
[root@24bd49cd0e0e test_dir]# cat test_file
Случайный текст

 

You may also like

2 комментария

Igor 13.01.2022 - 03:05

А как отредактировать файл, например с настройками ?

Reply

Добавить комментарий для itisgood Cancel Reply