之所以用到容器打包是因为之前在kibana中安装x-pack的时候要求服务器内存必须在2G以上,在安装kibana的服务器上内存不够只有2G,无法安装。只能是在本地使用虚拟机设置足够的内存进行安装。
注意:在导入镜像后必须安照4、5命令进行操作一次否则docker容器无法启动成功,这个点很坑,找了很久才解决
1.将虚拟机上的kibana容器导出,然后拷贝到服务器上
docker export kibana > /opt/myapp/kibana.tar #中间的kibana可以替换为kibana的容器id
2.在虚拟机上输入docker inspect kibana 查看kibana的信息
需要将红框中的Env、Cmd、Entrypoint这三个信息复制保存,稍后在服务上导入镜像时用到
3.导入镜像,并指定镜像名称为kibana-x-pack
docker import - kibana-x-pack < kibana.tar
4.在服务器上创建个kibana文件夹,然后进入,在里边创建Dockerfile文件,添加上边第2步保存的信息
FROM 格式为 FROM <image>或FROM <image>:<tag>。
ENV 格式为 ENV <key> <value>。 指定一个容器环境变量。
CMD 支持三种格式
CMD ["executable","param1","param2"] 使用 exec 执行,推荐方式;
CMD command param1 param2 在 /bin/sh 中执行,提供给需要交互的应用;
CMD ["param1","param2"] 提供给 ENTRYPOINT 的默认参数;
ENTRYPOINT 两种格式:
ENTRYPOINT ["executable", "param1", "param2"]
ENTRYPOINT command param1 param2(shell中执行)。
配置容器启动后执行的命令,并且不可被 docker run 提供的参数覆盖。
每个 Dockerfile 中只能有一个 ENTRYPOINT,当指定多个时,只有最后一个起效。
5.输入docker build构建kibana镜像
docker build -t kibana-x-pack .
6.使用docker run命令启动,启动成功说明配置成功
docker run -d kibana-x-pack -p 5601:5601 --name kibana