重新创建修改后的Docker映像

时间:2019-03-27 15:19:47

标签: docker image.createimage

我需要在Kibana界面中进行修改,例如更改徽标等。为此,我需要在其使用的docker映像中进行修改。什么是正确的方法?如何重建修改后的图像?

我尝试绘制新图像并对其进行处理。但是修改不会显示在界面上。

2 个答案:

答案 0 :(得分:0)

只需使用docker commit或尝试使用Dockerfile构建扩展映像。

答案 1 :(得分:0)

有两种基本的好方法,这取决于您需要进行多少自定义。

如果您只是替换配置文件并注入备用映像,则可以使用Docker绑定安装来执行此操作。一个典型的用于执行此操作的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,配置文件以及将这种方式注入到源代码管理中的所有其他内容。这些文件替换指定路径中映像中的相应文件。 (而且,如果容器进程正巧写入这些文件,则主机文件也会更改。)

如果您需要进行更多涉及的更改,则构建自定义图像很有意义。 (如果更多面向应用程序,则official Docker tutorial on building and running custom images很有帮助。)您可以启动任何其他图像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: .

这两种方法都使您处于可以检查进入图像/容器的所有内容进入源代码管理的位置,并且可以在系统死机的情况下(或者新同事正在尝试该项目,或者{{ 1}}损坏,或者Amazon关闭了EC2实例,或者...)您可以从源代码控制中检查工件,然后再次运行它们。如果您需要较新版本的Kibana,则只需更改图像标签并重新运行即可。