docker使用DockerFile创建zookeeper镜像和kafka镜像

avatar 2019年11月16日22:32:02 6 6747 views
博主分享免费Java教学视频,B站账号:Java刘哥
本文介绍 docker 的基本使用和使用 DockerFile 创建一个 zookeeper 镜像,然后启动。

一、docker 常用命令

先介绍一下几个简单的常用命令吧 1. 查看 docker 版本 docker version   2.查看镜像列表 docker images   3.查看正在启动的容器 docker ps 查看所有的容器 docker ps -a   4.删除容器 docker rm 容器ID   5.删除镜像 docker rm 镜像ID 注意:要先删除容器再删除镜像,先删除子镜像再删除父镜像,强制删除可以加 -f   6.创建容器 docker run [可选参数] 镜像名称:版本 [命令] 如 docker run --name mynginx -d nginx:latest   7.启动,停止,重启容器 docke start 容器ID docker stop 容器ID docker restart 容器ID   8.进入容器内部 docker exec -it 容器ID/名称 bash 从容器内部出来 exit   9.查看容器日志 docker logs 容器ID 如果指定查看末尾几条 docker logs --tail="10" 容器ID  

二、使用DockerFile创建zookeeper镜像

DockerFile 文件内容如下 zookeeper.DockerFile
  1. FROM centos:6.6
  2. RUN yum -y install vim lsof wget tar bzip2 unzip vim-enhanced passwd sudo yum-utils hostname net-tools rsync man git make automake cmake patch logrotate python-devel libpng-devel libjpeg-devel pwgen python-pip
  3. RUN mkdir /opt/java &&\
  4.     wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b6607d096fa80163/jdk-8u131-linux-x64.tar.gz -P /opt/java
  5. RUN tar zxvf /opt/java/jdk-8u131-linux-x64.tar.gz -C /opt/java &&\
  6.     JAVA_HOME=/opt/java/jdk1.8.0_131 &&\
  7.     sed -i "/^PATH/i export JAVA_HOME=$JAVA_HOME" ~/.bash_profile &&\
  8.     sed -i "s%^PATH.*$%&:$JAVA_HOME/bin%g" ~/.bash_profile &&\
  9.     source ~/.bash_profile
  10. ENV ZOOKEEPER_VERSION "3.4.14"
  11. RUN mkdir /opt/zookeeper &&\
  12.     wget https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/zookeeper-$ZOOKEEPER_VERSION/zookeeper-$ZOOKEEPER_VERSION.tar.gz -P /opt/zookeeper
  13. RUN tar zxvf /opt/zookeeper/zookeeper*.tar.gz -C /opt/zookeeper
  14. RUN echo "source ~/.bash_profile" > /opt/zookeeper/start.sh &&\
  15.     echo "cp /opt/zookeeper/zookeeper-"$ZOOKEEPER_VERSION"/conf/zoo_sample.cfg /opt/zookeeper/zookeeper-"$ZOOKEEPER_VERSION"/conf/zoo.cfg" >> /opt/zookeeper/start.sh &&\
  16.     echo "/opt/zookeeper/zookeeper-$"ZOOKEEPER_VERSION"/bin/zkServer.sh start-foreground" >> /opt/zookeeper/start.sh
  17. EXPOSE 2181
  18. ENTRYPOINT ["sh""/opt/zookeeper/start.sh"]
稍微说明下 使用 centos6.6 为基础镜像 然后安装常用的工具 下载 jdk ,并解压配置环境变量 下载 zookeeper, 并解压 将 zookeeper 启动命令写到一个新文件 start.sh 对外暴露端口 2181 容器启动入口命令为 sh /opt/zookeeper/start.sh   下面介绍一下怎么用 DockerFile 文件生成镜像和运行 1、将 zookeeper.DockerFile 上传到服务器 上传可以使用 FTP 工具或者使用 SCP 命令 如将本地的一个 docker 文件夹上传到服务器的 /www 目录,命令如下 scp -r /Users/liuyanzhao/Documents/docker root@IP地址:/www/   2、创建镜像 docker build -t saysky/zookeeper:3.4.6 -f zookeeper.Dockerfile .   3.创建容器 docker run -itd --name zookeeper -h zookeeper -p2181:2181 saysky/zookeeper:3.4.6 bash 会返回容器ID,默认容器未启动 或者通过 docker ps -a 查看   4.启动,停止,重启容器 docker start/stop/restart  

三、使用DockerFile创建kafka镜像

顺便把 kafka 的也提一下,因为后面我们要使用 docker 介绍 zookeeper 和 kafka 集群 1. DockerFile 文件内容如下
  1. FROM centos:6.6
  2. RUN yum -y install vim lsof wget tar bzip2 unzip vim-enhanced passwd sudo yum-utils hostname net-tools rsync man git make automake cmake patch logrotate python-devel libpng-devel libjpeg-devel pwgen python-pip
  3. RUN mkdir /opt/java &&\
  4.     wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b6607d096fa80163/jdk-8u131-linux-x64.tar.gz -P /opt/java
  5. RUN tar zxvf /opt/java/jdk-8u131-linux-x64.tar.gz -C /opt/java &&\
  6.     JAVA_HOME=/opt/java/jdk1.8.0_131 &&\
  7.     sed -i "/^PATH/i export JAVA_HOME=$JAVA_HOME" ~/.bash_profile &&\
  8.     sed -i "s%^PATH.*$%&:$JAVA_HOME/bin%g" ~/.bash_profile &&\
  9.     source ~/.bash_profile
  10. ENV ZOOKEEPER_VERSION "3.4.14"
  11. RUN mkdir /opt/zookeeper &&\
  12.     wget https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/zookeeper-$ZOOKEEPER_VERSION/zookeeper-$ZOOKEEPER_VERSION.tar.gz -P /opt/zookeeper
  13. RUN tar zxvf /opt/zookeeper/zookeeper*.tar.gz -C /opt/zookeeper
  14. RUN echo "source ~/.bash_profile" > /opt/zookeeper/start.sh &&\
  15.     echo "cp /opt/zookeeper/zookeeper-"$ZOOKEEPER_VERSION"/conf/zoo_sample.cfg /opt/zookeeper/zookeeper-"$ZOOKEEPER_VERSION"/conf/zoo.cfg" >> /opt/zookeeper/start.sh &&\
  16.     echo "/opt/zookeeper/zookeeper-$"ZOOKEEPER_VERSION"/bin/zkServer.sh start-foreground" >> /opt/zookeeper/start.sh
  17. EXPOSE 2181
  18. ENTRYPOINT ["sh""/opt/zookeeper/start.sh"]
 
2.构建kafka镜像
docker build -t saysky/kafka:2.3.1 -f kafka.Dockerfile .
3.创建 kafka 容器
docker run -itd --name kafka -h kafka -p9092:9092 --link zookeeper saysky/kafka:2.3.1 bash
  • 微信
  • 交流学习,有偿服务
  • weinxin
  • 博客/Java交流群
  • 资源分享,问题解决,技术交流。群号:590480292
  • weinxin
avatar

发表评论

avatar 登录者:匿名
匿名评论,评论回复后会有邮件通知

  

已通过评论:0   待审核评论数:0