一、常用系统初始镜像
1、alpine
docker pull hub.c.163.com/library/alpine
docker run -dit --name my-alpine hub.c.163.com/library/alpine
nano Dockerfile
----------------------------------------------------
# 更换源为 mirrors.ustc.edu.cn
RUN echo http://mirrors.ustc.edu.cn/alpine/v3.6/main > /etc/apk/repositories && \
echo http://mirrors.ustc.edu.cn/alpine/v3.6/community >> /etc/apk/repositories
RUN apk update && apk upgrade
----------------------------------------------------
2、debian
docker pull hub.c.163.com/library/debian
docker run -dit --name my-debian hub.c.163.com/library/debian
3、ubuntu
docker pull hub.c.163.com/library/ubuntu
docker run -dit --name my-ubuntu hub.c.163.com/library/ubuntu
nano Dockerfile
----------------------------------------------------
# 更换源为 mirrors.ustc.edu.cn
RUN sed -i 's/archive.ubuntu.com/mirrors.ustc.edu.cn/g' /etc/apt/sources.list
RUN apt-get update
----------------------------------------------------
4、centos
docker pull hub.c.163.com/library/centos
docker run -dit --name my-centos hub.c.163.com/library/centos
二、java (jre8举例)
1、制作自定义镜像(debian)
nano Dockerfile
----------------------------------------------------
FROM hub.c.163.com/library/debian
MAINTAINER yanghaiteng 13702721963@139.com
ADD jre-8u221-linux-x64.tar.gz /opt/Java/
ENV JAVA_HOME=/opt/Java/jre1.8.0_221
ENV CLASSPATH=$:CLASSPATH:$JAVA_HOME/lib/
ENV PATH=$PATH:$JAVA_HOME/bin
----------------------------------------------------
docker build -t yht/debian/jre8 .
docker run -dit --name debian-jre8 yht/debian/jre8
docker exec -it e6d4550f3f93dfedaf5f /bin/bash
2、自定义镜像的使用
firewall-cmd --permanent --add-port=10001/tcp
firewall-cmd --reload
firewall-cmd --list-all
docker run -d \
--net=host \
--restart unless-stopped \
--name 10001.Service-H5_01 \
-v /home/data/appjar/h5/frame-service-1.0-SNAPSHOT.jar:/app.jar \
yht/debian/jre8 java \
-Duser.timezone=GMT+8 \
-Ddubbo.application.name=Service-H5_01 \
-Ddubbo.protocol.port=10001 \
-Xmx1024m -Xss128M \
-jar /app.jar
firewall-cmd --permanent --add-port=20001/tcp
firewall-cmd --reload
firewall-cmd --list-all
docker run -d \
--net=host \
--restart unless-stopped \
--name 20001.Webapi-H5_01 \
-v /home/data/appjar/h5/frame-webapi-1.0-SNAPSHOT.jar:/app.jar \
yht/debian/jre8 java \
-Duser.timezone=GMT+8 \
-Ddubbo.application.name=Service-H5 \
-Dserver.port=20001 \
-Xmx1024m -Xss128M \
-jar /app.jar
3、其它
制作自定义镜像(alpine)
nano Dockerfile
----------------------------------------------------
FROM hub.c.163.com/library/alpine
MAINTAINER yanghaiteng 13702721963@139.com
# Alpine安装 Glibc https://github.com/sgerrand/alpine-pkg-glibc
COPY glibc-2.29-r0.apk /root/glibc-2.29-r0.apk
RUN apk --no-cache add ca-certificates wget \
&& wget -q -O /etc/apk/keys/sgerrand.rsa.pub https://alpine-pkgs.sgerrand.com/sgerrand.rsa.pub \
&& apk add /root/glibc-2.29-r0.apk \
&& rm -rf /root/glibc-2.29-r0.apk
# 安装 Java
ADD jre-8u221-linux-x64.tar.gz /opt/Java/
ENV JAVA_HOME=/opt/Java/jre1.8.0_221
ENV CLASSPATH=$:CLASSPATH:$JAVA_HOME/lib/
ENV PATH=$PATH:$JAVA_HOME/bin
----------------------------------------------------
docker build -t yht/alpine/jre8 .
docker run -dit --name alpine-jre8 yht/alpine/jre8
docker exec -it e6d4550f3f93dfedaf5f /bin/sh
三、zookeeper
1、制作自定义镜像(debian)
Dockerfile
----------------------------------------------------
FROM yht/debian/jre8
MAINTAINER yanghaiteng 13702721963@139.com
RUN mkdir -p /opt/ZooKeeper/data /opt/ZooKeeper/logs
ADD zookeeper-3.4.14.tar.gz /opt/ZooKeeper/
ENV ZK_HOME=/opt/ZooKeeper/zookeeper-3.4.14
ENV PATH=$PATH:$ZK_HOME/bin
# 生产基础的zk配置文件
RUN cp ${ZK_HOME}/conf/zoo_sample.cfg ${ZK_HOME}/conf/zoo.cfg
# 修改zk数据存放目录
RUN sed -i 's#dataDir=/tmp/zookeeper#dataDir=/opt/ZooKeeper/data#g' ${ZK_HOME}/conf/zoo.cfg
# 修改zk的log4j配置文件
RUN sed -i 's#zookeeper.root.logger=INFO, CONSOLE#zookeeper.root.logger=INFO, ROLLINGFILE#g' ${ZK_HOME}/conf/log4j.properties
RUN sed -i 's#zookeeper.log.dir=.#zookeeper.log.dir=/opt/ZooKeeper/logs#g' ${ZK_HOME}/conf/log4j.properties
RUN sed -i 's#zookeeper.tracelog.dir=.#zookeeper.tracelog.dir=/opt/ZooKeeper/logs#g' ${ZK_HOME}/conf/log4j.properties
# 修改zk日志存放目录
RUN sed -i 's#ZOO_LOG_DIR="."#ZOO_LOG_DIR="/opt/ZooKeeper/logs"#g' ${ZK_HOME}/bin/zkEnv.sh
RUN sed -i 's#ZOO_LOG4J_PROP="INFO,CONSOLE"#ZOO_LOG4J_PROP="DEBUG,ROLLINGFILE"#g' ${ZK_HOME}/bin/zkEnv.sh
# 启动容器的时候执行的命令
ENTRYPOINT ["zkServer.sh"]
# 如果不设置这个, zookeeper后台运行的话, 容器会自动关闭, 进入Exited状态
CMD ["start-foreground"]
# 暴露的端口
EXPOSE 2181
----------------------------------------------------
docker build -t yht/debian/zookeeper .
2、自定义镜像的使用
docker run -d \
--name zookeeper \
--restart unless-stopped \
-p 2181:2181 \
yht/debian/zookeeper
firewall-cmd --permanent --add-port=2181/tcp
firewall-cmd --reload
firewall-cmd --list-all
cd /opt/ZooKeeper/zookeeper-3.4.14/bin/
./zkCli.sh -server 127.0.0.1:2181
----------------------------------------------------
getAcl /data
addauth digest admin:USERPWD
setAcl / auth:admin:USERPWD:cdrwa
getAcl /
----------------------------------------------------
最后修改:2019-10-08 02:07:35
© 著作权归作者所有
如果觉得我的文章对你有用,请随意赞赏
扫一扫支付

发表评论