安装docker,并设置环境
yum install -y docker
systemctl enable docker
service docker start
docker的一个管理界面
docker run -d -p 9000:9000 --privileged -v /var/run/docker.sock:/var/run/docker.sock uifd/ui-for-docker
设置Dockerfile
# 从一个基础镜像centos:6.8开始构建
FROM centos:6.8
# 维护者信息
MAINTAINER xiaofancn "xiaofancn@qq.com"
#容器环境处理
RUN mkdir /usr/local/jdk
#把当前目录下的jdk文件夹添加到镜像
ADD jdk1.8.0_161 /usr/local/jdk/jdk1.8.0_161
ADD zookeeper-3.4.11 /root/zookeeper-3.4.11
ENV JAVA_HOME /usr/local/jdk/jdk1.8.0_161
ENV CLASSPATH .:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
ENV PATH $JAVA_HOME/bin:$PATH
RUN java -version
VOLUME ["/data1"]
#启动容器的时候执行的命令
#容器入口,把zookeeper容器变得像一个zookeeper服务器一样
#docker run -p 2181:2181 --name docker-zookeeper xiaofancn/zookeeper print-cmd
ENTRYPOINT ["/root/zookeeper-3.4.11/bin/zkServer.sh"]
#前台运行, 如果不设置这个, zookeeper后台运行的话, 容器会自动关闭, 进入Exited状态
#容器启动的时候跟的参数=docker run -p 2181:2181 --name docker-zookeeper xiaofancn/zookeeper start-foreground
#启动的时候追加参数如print-cmd,会覆盖默认参数
#start-foreground 输出日志,容器内保持日志的输出,docker则保持up状态。
CMD ["start-foreground"]
#暴露的端口
EXPOSE 2181 2888 3888
构建镜像
docker build -t="xiaofancn/zookeeper" .
启动前清理
docker stop docker-zookeeper && docker rm docker-zookeeper
docker run -d -p 2181:2181 --name docker-zookeeper xiaofancn/zookeeper
docker inspect docker-zookeeper
链接容器的zk
./zookeeper-3.4.11//bin/zkCli.sh -server localhost:2181
新建一组子网
docker network create --subnet=172.18.0.0/16 shadownet
绑定ip启动zk
docker run --network=shadownet --ip=172.18.0.10 -d -p 2181:2181 --name docker-zookeeper_1 xiaofancn/zookeeper
docker run --network=shadownet --ip=172.18.0.11 -d -p 2182:2181 --name docker-zookeeper_2 xiaofancn/zookeeper
开两个控制台分别执行
docker run -it --network=shadownet --ip=172.18.0.12 centos:6.8 /bin/bash
docker run -it --network=shadownet --ip=172.18.0.13 centos:6.8 /bin/bash
修改镜像(由于centos没有ping工具包,在基础包上安装后,提交成一个版本)
docker run -it --network=shadownet --ip=172.18.0.12 centos:6.8 /bin/bash
[root@e2bdf95d0658 /]# yum install iputils -y && exit
修改的镜像历史为 e2bdf95d0658 并提交成centos:6.8.v1 版本
docker commit -m "Added ping " -a "Docker Centosping" e2bdf95d0658 centos:6.8.v1
从提交版再进入
docker run -it --network=shadownet --ip=172.18.0.12 centos:6.8.v1 /bin/bash
[root@56ddbd3270b2 /]# ping www.baidu.com
PING www.a.shifen.com (119.75.216.20) 56(84) bytes of data.
64 bytes from 119.75.216.20: icmp_seq=1 ttl=54 time=7.94 ms
参考
https://www.cnblogs.com/zhouyalei/p/6400951.html
所有评论(0)