Воссоздание измененного образа Docker - PullRequest
0 голосов
/ 27 марта 2019

Мне нужно внести изменения в интерфейс Kibana, например, изменить логотип и т. Д. Для этого мне нужно внести изменения в используемый ими образ докера.Какой будет правильный подход?Как перестроить этот измененный образ?

Я попытался вытащить свежее изображение и поработать над ним.Но изменения не отображаются на интерфейсе.

Ответы [ 2 ]

0 голосов
/ 28 марта 2019

Есть два основных хороших подхода к этому, в зависимости от того, сколько настроек вам нужно сделать.

Если вы просто заменяете конфигурационные файлы и внедряете альтернативные изображения, вы можете использовать Docker bind mounts для этого. Типичный файл Docker Compose для этого может выглядеть так (я немного придумываю пути):

version: '3'
services:
  kibana:
    image: 'kibana:6.6.2'
    volumes:
      - ./kibana.yml:/etc/kibana/kibana.yml
      - ./kibana.png:/usr/share/kibana/assets/kibana.png

Затем вы можете проверить docker-compose.yml, файл конфигурации и все, что вы вводите таким образом в систему контроля версий. Эти файлы заменяют соответствующие файлы с изображения по указанным путям. (И если процесс контейнера выполняет запись в эти файлы, файлы хоста также изменятся.)

Если вам нужно внести более сложные изменения, создание собственного изображения имеет смысл. (Официальное руководство по Docker по созданию и запуску пользовательских образов полезно, если оно более ориентировано на приложения.) Вы можете запустить изображение FROM любого другого изображения. Эквивалент Dockerfile вышеуказанному может выглядеть как

FROM kibana:6.6.2
COPY kibana.yml /etc/kibana
COPY kibana.png /usr/share/kibana/assets
# Keep base image's ENTRYPOINT/CMD

и соответствующий файл docker-compose.yml может быть просто

version: '3'
services:
  kibana:
    build: .

Оба эти подхода ставят вас в положение, при котором вы можете проверить все, что было добавлено в изображение / контейнер, в систему управления исходным кодом, а также на случай, если ваша система умрет (или новый коллега пробует проект, или * 1020). * повреждается, или Amazon отключает ваши экземпляры EC2, или ...) вы можете просто вывести артефакты из-под контроля исходного кода и запустить их снова. Если вам нужна более новая версия Kibana, вы можете просто поменять тег изображения и запустить все заново.

0 голосов
/ 27 марта 2019

Просто используйте docker commit или попробуйте создать расширенный образ с помощью Dockerfile.

...