Skip to main content

Dockerfile Collection

提示

如果 ENTRYPOINT / CMD 指定的脚本中使用了 nohup + & 实现后台运行,则 docker run 不可指定 -d 参数,否则容器会在执行完脚本后退出。

Nacos

Dockerfile

FROM centos:8.1.1911
# set environment
ENV MODE="cluster" \
PREFER_HOST_MODE="ip"\
BASE_DIR="/home/nacos" \
CLASSPATH=".:/home/nacos/conf:$CLASSPATH" \
CLUSTER_CONF="/home/nacos/conf/cluster.conf" \
FUNCTION_MODE="all" \
JAVA_HOME="/usr/lib/jvm/java-1.8.0-openjdk" \
NACOS_USER="nacos" \
JAVA="/usr/lib/jvm/java-1.8.0-openjdk/bin/java" \
JVM_XMS="1g" \
JVM_XMX="1g" \
JVM_XMN="512m" \
JVM_MS="128m" \
JVM_MMS="320m" \
NACOS_DEBUG="n" \
TOMCAT_ACCESSLOG_ENABLED="false" \
TIME_ZONE="Asia/Shanghai"
ARG NACOS_VERSION=2.0.3
ARG HOT_FIX_FLAG=""
WORKDIR $BASE_DIR
RUN yum install -y java-1.8.0-openjdk-devel && yum clean all
COPY nacos/ ./
COPY bin/docker-startup.sh bin/docker-startup.sh
COPY conf/application.properties conf/application.properties
# set startup log dir
RUN mkdir -p logs \
&& cd logs \
&& touch start.out \
&& ln -sf /dev/stdout start.out \
&& ln -sf /dev/stderr start.out
RUN chmod +x bin/docker-startup.sh
EXPOSE 8848
ENTRYPOINT ["bin/docker-startup.sh"]

Container

docker build -t nacos-server:2.0.3-aarch64
docker run -d --name nacos-server \
--network docker --network-alias nacos \
-e MODE=standalone \
-e PREFER_HOST_MODE=hostname \
-p 8848:8848 \
-p 9848:9848 \
-p 9849:9849 \
-v /Users/tts/data/docker/nacos/log:/home/nacos/logs \
-v /Users/tts/data/docker/nacos/init.d/custom.properties:/home/nacos/init.d/custom.properties \
-v /Users/tts/data/docker/nacos/conf/application.properties:/home/nacos/conf/application.properties \
-v /Users/tts/data/docker/nacos/conf/nacos-logback.xml:/home/nacos/conf/nacos-logback.xml \
nacos-server:2.0.3-aarch64

ElasticJob

Dockerfile

FROM registry.cn-hangzhou.aliyuncs.com/tts-tech/jre_aarch64:17.0.3
COPY elasticjob /opt/elasticjob/
EXPOSE 8088
ENTRYPOINT ["/opt/elasticjob/bin/start.sh"]

Container

docker build . -t elastic-job-ui:3.0.1
docker run -d --name elastic-job-ui --pull missing \
-p 8088:8088 \
-v /Users/tts/data/docker/elasticjob/logs/:/opt/elasticjob/logs/ \
elastic-job-ui:3.0.1

Zookeeper

Dockerfile

FROM registry.cn-hangzhou.aliyuncs.com/tts-tech/jre_aarch64:17.0.3
COPY zookeeper /opt/zookeeper/
EXPOSE 2181
ENTRYPOINT ["/opt/zookeeper/bin/zkServer.sh"]
CMD ["start-foreground", "/opt/zookeeper/conf/zoo.cfg"]

Container

docker build . -t zookeeper:3.8.0
docker run -d --name zookeeper \
-p 2181:2181 \
-v /Users/tts/data/docker/zookeeper/data/:/opt/zookeeper/data/ \
-v /Users/tts/data/docker/zookeeper/logs/:/opt/zookeeper/logs/ \
-v /Users/tts/data/docker/zookeeper/zoo.cfg:/opt/zookeeper/conf/zoo.cfg \
zookeeper:3.8.0