搭建基础镜像(centos+jdk)

搭建基础镜像(centos+jdk)

  • [1. 目录结构](#1. 目录结构)
    • [1.1 应用目录](#1.1 应用目录)
    • [2.2 镜像目录](#2.2 镜像目录)
  • [2. 编写Dockerfile](#2. 编写Dockerfile)
    • [2.1 设置工作目录](#2.1 设置工作目录)
    • [2.2 解决时间同步问题(设置时区)](#2.2 解决时间同步问题(设置时区))
    • [2.3 核心逻辑](#2.3 核心逻辑)
    • [2.4 设置环境变量](#2.4 设置环境变量)
  • [3. 构建镜像](#3. 构建镜像)
    • [3.1 构建镜像](#3.1 构建镜像)
    • [3.2 导出镜像](#3.2 导出镜像)

1. 目录结构

1.1 应用目录

事先下载jdk安装包并保存到本地

2.2 镜像目录

2. 编写Dockerfile

2.1 设置工作目录

bash 复制代码
# 设置工作目录
WORKDIR ${WORK_DIR}

# 文件拷贝:将所有本地文件拷贝到容器目录
COPY ./jdk ${WORK_DIR}/jdk

2.2 解决时间同步问题(设置时区)

bash 复制代码
# 解决时间同步问题
RUN rm -f /etc/localtime && ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

2.3 核心逻辑

  • 创建用户
  • 安装基础包
  • 安装JDK
  • 安装证书
bash 复制代码
RUN groupadd ${SYS_USER_GROUP} && \
  # 创建用户admin并添加到admin用户组下
  useradd -m -g ${SYS_USER_GROUP} ${SYS_USER} && \
  # 创建目录
  mkdir -p ${SRC_APP_DIR} ${SRC_LOG_DIR} ${SRC_DATA_DIR} ${SRC_SERVER_DIR} ${TGT_DIR} && \
  # 安装基础包
  yum install -y openssh-server cronie wget && \
  # 安装JDK \
  tar -zxvf ${WORK_DIR}/jdk/jdk-8u391-linux-x64.tar.gz -C ${SRC_SERVER_DIR} && \
  # 安装证书
  ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key -N '' && \
  ssh-keygen -t ecdsa -f /etc/ssh/ssh_host_ecdsa_key -N '' && \
  ssh-keygen -t ed25519 -f /etc/ssh/ssh_host_ed25519_key -N '' && \
  # 删除JDK安装包
  rm -r ${WORK_DIR}/jdk
  • 环境变量(ENV)
    • SYS_USER_GROUP:系统用户组
    • SYS_USER:系统用户
  • 参数(ARG)
    • SRC_DIR:源根目录
    • SRC_APP_DIR:源应用目录
    • SRC_LOG_DIR:源日志目录
    • SRC_DATA_DIR:源数据目录
    • SRC_SERVER_DIR:源服务目录
    • TGT_DIR:目标根目录

2.4 设置环境变量

bash 复制代码
# 设置JAVA_HOME
ENV JAVA_HOME "$SRC_SERVER_DIR/jdk1.8.0_391"
# 设置PATH
ENV PATH "$PATH:$JAVA_HOME/bin"

3. 构建镜像

3.1 构建镜像

bash 复制代码
docker build -t centos7-jdk-1.0 -f ./Dockerfile_centos7_jdk .

3.2 导出镜像

bash 复制代码
docker save -o /images/centos7-jdk-1.0.tar centos7-jdk-1.0
相关推荐
geats人山人海1 分钟前
linux 2 基本操作与vim
linux·运维·vim
Wang's Blog12 分钟前
Java框架 SpringCloud 快速入门: Eureka 服务注册
java·spring cloud·eureka
liangshanbo121515 分钟前
请求拦截器相关面试题
java·前端·javascript
她说彩礼65万19 分钟前
C语言 const的使用
java·服务器·c语言
开开心心就好23 分钟前
视频压缩工具推荐,绿色版免安装双击即用
java·前端·人工智能·spring·智能手机·intellij-idea·excel
Wang's Blog25 分钟前
Java框架 SpringCloud 快速入门: Eureka 注册中心的搭建
java·spring cloud·eureka
专业程序开发源35 分钟前
springboot古城景区管理系统88564-计算机课程设计、毕业设计
java·vue.js·spring boot·后端·spring·php·课程设计
泡茶喝茶写代码41 分钟前
A股量化数据工程:从 REST 接口到策略信号(第 7 篇):盈利能力因子:毛利率、净利率与 ROE
java·python·股票数据api·股票数据api接口·股票api数据接口·股票量化数据api·股票量化数据接口
小蒜学长1 小时前
基于微信小程序的遇见咖啡店点餐系统设计与实现(代码+数据库+LW)
java·spring boot·后端·微信小程序·咖啡店点餐系统
lisanmengmeng1 小时前
NRPE 添加命令(三)
java·linux·服务器