当前位置: 首页 > article >正文

Dockerfile的使用

简介

制作docker镜像可以通过修改容器的方式,也通过通过Dockerfile文件的方式,下面通过Dockerfile文件的例子进行说明。

Dockerfile文件

FROM openjdk:8-alpine
    
#ENV http_proxy http://127.0.0.1:7890
#ENV https_proxy http://127.0.0.1:7890
    
#ENV TZ=Asia/Shanghai
#RUN set -eux; \
#    ln -snf /usr/share/zoneinfo/$TZ /etc/localtime; \
#    echo $TZ > /etc/timezone
    
#RUN apk update \
#        && apk upgrade \ 
#        && apk add --no-cache bash \
#        bash-doc \
#        bash-completion \
#        && rm -rf /var/cache/apk/* \
#        && /bin/bash




#RUN echo "https://mirror.tuna.tsinghua.edu.cn/alpine/v3.4/main/" > /etc/apk/repositories
RUN echo "http://mirrors.ustc.edu.cn/alpine/v3.4/main/"  > /etc/apk/repositories
RUN cat /etc/apk/repositories
 
# 容器内执行
#$RUN rm -fr /var/cache/apk
#RUN mkdir -p mkdir /var/cache/apk


RUN rm -rf /var/cache/apk/* && \
    rm -rf /tmp/*


RUN apk update


ENV TZ=Asia/Shanghai
RUN set -eux; \
    apk add --no-cache  tzdata; \
    ln -snf /usr/share/zoneinfo/$TZ /etc/localtime; \
    echo $TZ > /etc/timezone  




#RUN apk update \
#    && DEBIAN_FRONTEND=noninteractive apt install -y tzdata \
#    && rm -rf /var/lib/apt/lists/*


    
RUN set -eux; \
    addgroup --gid 1000 java-app; \
    adduser -S -u 1000 -g java-app -h /home/java-app/ -s /bin/sh -D java-app;
  


EXPOSE 8080


COPY --chown=java-app firefly  /home/java-app/firefly


ADD docker-entrypoint.sh /home/java-app/firefly/docker-entrypoint.sh


RUN chown -R java-app:java-app  /home/java-app


USER java-app


WORKDIR /home/java-app/firefly


CMD /home/java-app/firefly/docker-entrypoint.sh

精简的Dockerfile文件

FROM openjdk:8-alpine
    
RUN echo "http://mirrors.ustc.edu.cn/alpine/v3.4/main/"  > /etc/apk/repositories
RUN cat /etc/apk/repositories
 
RUN rm -rf /var/cache/apk/* && \
    rm -rf /tmp/*

RUN apk update -v
ENV TZ=Asia/Shanghai
RUN set -eux; \
    apk add --no-cache  tzdata; \
    ln -snf /usr/share/zoneinfo/$TZ /etc/localtime; \
    echo $TZ > /etc/timezone  

RUN set -eux; \
    addgroup --gid 1000 java-app; \
    adduser -S -u 1000 -g java-app -h /home/java-app/ -s /bin/sh -D java-app;
  

EXPOSE 8080

COPY --chown=java-app firefly  /home/java-app/firefly

ADD docker-entrypoint.sh /home/java-app/firefly/docker-entrypoint.sh

RUN chown -R java-app:java-app  /home/java-app

USER java-app

WORKDIR /home/java-app/firefly

CMD /home/java-app/firefly/docker-entrypoint.sh

制作镜像命令脚本

#!/bin/bash

image=harbor.k8s/firefly/firefly-spring-boot-starter:1.2.0

#docker build -t $image  ./  --build-arg HTTP_PROXY="http://127.0.0.1:7890"  --no-cache

docker build -t $image  ./   --no-cache

#--network=host
#docker build -t $image  ./   --progress=plain --no-cache
#docker push $image


http://www.kler.cn/a/384925.html

相关文章:

  • 每天五分钟深度学习框架pytorch:如何加载手写字体数据集mnist?
  • TensorFlow|咖啡豆识别
  • 全星魅 北斗手持终端:重塑户外通信与导航新体验
  • Python 中的字符串匹配算法
  • Unreal5从入门到精通之如何在指定的显示器上运行UE程序
  • 解决vue3导出.xlsx的blob文件受损问题
  • 深入理解RocketMQ延迟消息机制原理
  • 2-143 基于matlab-GUI的脉冲响应不变法实现音频滤波功能
  • LabVIEW编程过程中为什么会出现bug?
  • 算法训练(leetcode)二刷第十九天 | *39. 组合总和、*40. 组合总和 II、*131. 分割回文串
  • [沫忘录]Redis 持久化
  • 分割回文串(DFS)
  • 技术分享 | 大语言模型赋能软件测试:开启智能软件安全新时代
  • explain执行计划分析 ref_
  • 【数据结构】Java 集合 Set 接口及其实现类的定义简介
  • 测试-正交表与工具pairs的介绍使用(1)
  • Qt字符编码
  • Matlab实现海马优化算法(SHO)求解路径规划问题
  • 倒计时3天 | 2024 CCF中国开源大会仪式解读
  • 高级AI记录笔记(一)
  • [卷积神经网络]使用YOLOv11训练自己的模型
  • SQL,力扣题目1709,访问日期之间最大的空档期
  • Oceanbase学习之一迁移mysql数据到oceanbase
  • 基于SSM的校园美食交流系统【附源码】
  • 缓存-基础概念
  • (蓝桥杯C/C++)——基础算法(下)