关于Docker 制作自己的elasticsearch镜像 编写自己的Dockerfile
•发布于   •作者 fly唐朝的天空(唐秋果)  •846 次浏览  •来自 博客

一:制作自己的Dockerfile

(基于centos为基础镜像带有jdk制作elasticsearch的镜像)


 默认安装好了docker 不会安装看这里(http://blog.csdn.net/u010663021/article/details/70638873) 。

环境

操作系统: centos7 
elasticsearch:5.5.2

jdk:1.8 以上

第一步:

    官网下载 jdk8和 elasticsearch最新  的tar包。

第二步:

    把下载好的文件上传到服务器对应的文件夹并且解压好。

blob.png


 注意:解压的文件必须在Dockerfile文件同级目录下

blob.png

 

第三步:

    编写自己的Dockerfile

 

第四步:构建运行

构建镜像:       docker build -t="elasticsearch1:v1" .   (注意这个'.'点)

运行启动容器:docker run -it  -p 9200:9200  --name volume-test1 -v /opt:/opt elasticsearch1:v1 

运行结果:

blob.png

 注意 :es报错问题

http://blog.csdn.net/u013066244/article/details/61623660

http://www.cnblogs.com/xxoome/p/6663993.html

http://www.bubuko.com/infodetail-1989234.html  (内存问题)


相关资料:

  dockerhub官网镜像中心     https://hub.docker.com

  docker官方文档                  http://www.dockerinfo.net/document   

  docker it笔录                      https://itbilu.com/linux/docker/NycKVWWPG.html

  docke从入门到实践         https://yeasy.gitbooks.io/docker_practice/content/introduction/what.html

————————————————————————————————————————————————————————

杂乱笔记(名词解释)

wget https://artifacts.elastic.co/downloads/logstash/logstash-5.5.2.tar.gz  在线下载centos系统

     echo (命令) 以将状态信息输出到屏幕或文件中

      dockerClient 客户端

      dockerdaemon 守护进程

      dockerimages  镜像

      docker container 容器

      dockerregistry  仓库

     

     

     

      bootfs引导文件系统

      rootfs

     

      Namespace命名空间

          PID(process ID)进程隔离

          NET (network)管理网络接口

          IPC(InterProcess Communicatioan)管理跨进程通信的访问

          MNT (Mount)管理挂载点

          UTS(Unix Timesharing System) 隔离内核和版本标识

         

          Controlgroups 控制组

            资源限制 

            优先级设定

            资源计量

            资源控制

    Docker 容器的能力

       文件系统隔离 :每个容器独有自己的root文件系统

       进程隔离:每个容器度运行在自己的进程环境中

       网络隔离:容器间的虚拟网络接口和ip地址都是分不开的

       资源隔离和分组:使用cgroups 将CPU和内存之类的资源独立分配给每个docker容器

   

   

    启动容器 docker run --name -h hostname(指定主机名)

    停止容器 docker stop  CONTAINER id

    查看在运行的容器 docker ps

    进入容器 docker exec |docker attch  例子 docker exec -it bf873e99627e bash


    查看所有容器 docker ps  -a

     删除容器 docker rm

    删除镜像 docker rmi

   

   

    docker inspect{Container ID} 获取容器的包括网络 volume 实际在host上的进程ID等信息

   

   

   

    http://download.oracle.com/otn-pub/java/jdk/8u144-b01/090f390dda5b47b9b721c7dfaa008135/jdk-8u144-linux-x64.tar.gz

   

   

    docker build -t="elasticsearch1:v1" . 构建

    docker run -it  -p 9200:9200  --name volume-test1 -v /opt:/opt elasticsearch1:v1  运行

    docker run -d   -p 9200:9200 -p 9300:9300  --name volume-test1 -v /opt:/opt elasticsearch1:v1

   

    ./bin/elasticsearch -d -p pid

    chmod 777 file

   

   

   

添加其他用户:

groupadd elkgroup

useradd elsearch -g elkgroup -p elasticsearch

su elsearch ;/home/elasticsearch/bin/elasticsearch -d;

   

导出镜像

docker save ubuntu:16.04 > ubuntu.16.04.tar

docker load < ubuntu.16.04.tar

USER指令用来指定镜像以哪个用户去运行

USER jix

指定镜像启动的容器以用户jix的身份运行,我们可以在USER指令中指定UID或GID,或二者的组合。

USER user

USER user:group

USER uid

USER uid:gid

USER user:gid

USER uid:group

也可以在docker run 命令中通过-u选项指定用户,注意docker run命令指定的用户会覆盖USER指令中设定的用户。如果不指定用户,则默认用户为root。

     

        sh /elasticsearch_server/elasticsearch-5.5.2/bin/elasticsearch

        非root用户名和密码elsearch

        1. 可以通过"netstat -anp" 来查看哪些端口被打开。

         netstat -nlp

0 回复
回到顶部

©2017 Powered by 三十三行伪代码
皖ICP备17005175号-3