如何編寫Dockerfile

灵泽pro發表於2024-06-03
例如,要基於Ubuntu映象來構建一個Java應用,其Dockerfile內容如下:
# 指定基礎映象
FROM ubuntu:16.04
# 配置環境變數,JDK的安裝目錄、容器內時區
ENV JAVA_DIR=/usr/local
ENV TZ=Asia/Shanghai
# 複製jdk和java專案的包
COPY ./jdk8.tar.gz $JAVA_DIR/
COPY ./docker-demo.jar /tmp/app.jar
# 設定時區
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
# 安裝JDK
RUN cd $JAVA_DIR \
 && tar -xf ./jdk8.tar.gz \
 && mv ./jdk1.8.0_144 ./java8
# 配置環境變數
ENV JAVA_HOME=$JAVA_DIR/java8
ENV PATH=$PATH:$JAVA_HOME/bin
# 指定專案監聽的埠
EXPOSE 8080
# 入口,java專案的啟動命令
ENTRYPOINT ["java", "-jar", "/app.jar"]
有人提供了基礎的系統加JDK環境,我們在此基礎上製作java映象,就可以省去JDK的配置了:
# 基礎映象
FROM openjdk:11.0-jre-buster
# 設定時區
ENV TZ=Asia/Shanghai
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
# 複製jar包
COPY docker-demo.jar /app.jar
# 入口
ENTRYPOINT ["java", "-jar", "/app.jar"]

編寫完畢後,將Dockerfile和需要複製的jar包上傳到Linux中

進入到Dockerfile所在的目錄

檢視映象倉庫裡上傳的專案並安裝

相關文章