本文介绍 docker 的基本使用和使用 DockerFile 创建一个 zookeeper 镜像,然后启动。
先介绍一下几个简单的常用命令吧
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
稍微说明下
使用 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
顺便把 kafka 的也提一下,因为后面我们要使用 docker 介绍 zookeeper 和 kafka 集群
1. DockerFile 文件内容如下
一、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
- FROM centos:6.6
- 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
- RUN mkdir /opt/java &&\
- 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
- RUN tar zxvf /opt/java/jdk-8u131-linux-x64.tar.gz -C /opt/java &&\
- JAVA_HOME=/opt/java/jdk1.8.0_131 &&\
- sed -i "/^PATH/i export JAVA_HOME=$JAVA_HOME" ~/.bash_profile &&\
- sed -i "s%^PATH.*$%&:$JAVA_HOME/bin%g" ~/.bash_profile &&\
- source ~/.bash_profile
- ENV ZOOKEEPER_VERSION "3.4.14"
- RUN mkdir /opt/zookeeper &&\
- wget https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/zookeeper-$ZOOKEEPER_VERSION/zookeeper-$ZOOKEEPER_VERSION.tar.gz -P /opt/zookeeper
- RUN tar zxvf /opt/zookeeper/zookeeper*.tar.gz -C /opt/zookeeper
- RUN echo "source ~/.bash_profile" > /opt/zookeeper/start.sh &&\
- echo "cp /opt/zookeeper/zookeeper-"$ZOOKEEPER_VERSION"/conf/zoo_sample.cfg /opt/zookeeper/zookeeper-"$ZOOKEEPER_VERSION"/conf/zoo.cfg" >> /opt/zookeeper/start.sh &&\
- echo "/opt/zookeeper/zookeeper-$"ZOOKEEPER_VERSION"/bin/zkServer.sh start-foreground" >> /opt/zookeeper/start.sh
- EXPOSE 2181
- 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 文件内容如下
- FROM centos:6.6
- 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
- RUN mkdir /opt/java &&\
- 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
- RUN tar zxvf /opt/java/jdk-8u131-linux-x64.tar.gz -C /opt/java &&\
- JAVA_HOME=/opt/java/jdk1.8.0_131 &&\
- sed -i "/^PATH/i export JAVA_HOME=$JAVA_HOME" ~/.bash_profile &&\
- sed -i "s%^PATH.*$%&:$JAVA_HOME/bin%g" ~/.bash_profile &&\
- source ~/.bash_profile
- ENV ZOOKEEPER_VERSION "3.4.14"
- RUN mkdir /opt/zookeeper &&\
- wget https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/zookeeper-$ZOOKEEPER_VERSION/zookeeper-$ZOOKEEPER_VERSION.tar.gz -P /opt/zookeeper
- RUN tar zxvf /opt/zookeeper/zookeeper*.tar.gz -C /opt/zookeeper
- RUN echo "source ~/.bash_profile" > /opt/zookeeper/start.sh &&\
- echo "cp /opt/zookeeper/zookeeper-"$ZOOKEEPER_VERSION"/conf/zoo_sample.cfg /opt/zookeeper/zookeeper-"$ZOOKEEPER_VERSION"/conf/zoo.cfg" >> /opt/zookeeper/start.sh &&\
- echo "/opt/zookeeper/zookeeper-$"ZOOKEEPER_VERSION"/bin/zkServer.sh start-foreground" >> /opt/zookeeper/start.sh
- EXPOSE 2181
- 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
您可以选择一种方式赞助本站
支付宝扫一扫赞助
微信钱包扫描赞助
赏