目录
- 1.下载 JDK 包
- 2.编写 Dockerfile
- 3.构建镜像
- 4.创建容器测试
 
1.下载 JDK 包
JDK各版本官网下载地址: https://www.oracle.com/java/technologies/downloads/archive/#JavaSE
这里我们以 JDK 8u351 为例,点击 Java SE (8U211 and later)。

点击下载 jdk-8u351-linux-x64.tar.gz。

勾选接受协议,点击下载。(这里会需要登录一下,没有账号可以注册一个,Oracle账号以后也会用到)

下载后,文件如下:

2.编写 Dockerfile
创建一个用于构建镜像的文件夹,并在文件夹中新建一个文本文件,重命名为 Dockerfile,内容如下:
# 基础镜像(大小:155MB)
FROM quay.io/centos/centos:stream9
# 配置JAVA的环境变量
ENV JAVA_DIR=/usr/local
ENV JAVA_HOME=$JAVA_DIR/jdk1.8.0_351
# 配置到PAHT中
ENV PATH=$PATH:$JAVA_HOME/bin
# 添加 redis 客户端
ADD redis-cli /usr/bin
# 添加 JDK
ADD jdk-8u351-linux-x64.tar.gz $JAVA_DIR
# 安装、更新基础控件
RUN yum -q -y update && yum -q -y upgrade \
	&&  yum install -y tzdata vim less ncurses telnet wget zip unzip traceroute procps net-tools iproute tcpdump mysql postgresql \
	&&  ln -snf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \
	&&  chmod +x /usr/bin/redis-cli \
	&&  yum clean all \
	&&  echo "alias ls='ls --color'" >> ~/.bashrc \
	&&  echo "alias ll='ls -l'" >> ~/.bashrc
# 需要下载文件的话可以用这个命令
#	&&  wget --quiet https://www.baidu.com/test.txt -P /usr/bin/ \
# 暴露端口
EXPOSE 8888
# 启动命令(因为是基础镜像的Dockerfile,这里轮询让容器可以访问即可)
ENTRYPOINT ["/bin/bash","-c","while true; do sleep 300; done;"]
补充:
-  基础镜像没有直接使用 openjdk:8-jdk的镜像是因为镜像中没有yum命令,不方便后期更新和扩展控件。
-  如果不需要使用 mysql、redis-cli、postgresql等命令可以直接去掉。redis-cli 下载地址:https://share.weiyun.com/f37Mekqs 
3.构建镜像
在文件夹下执行如下命令,构建镜像:
docker build -t image_name:image_tag .
执行结果:

(yum安装控件可能需要等待 3 分钟左右)
查看创建好的镜像:
docker images | grep image_name
执行结果:

4.创建容器测试
创建容器:
docker run -d --name=container_name image_name:image_tag
进入容器:
docker exec -it container_name bash
查看 JDK 版本:
java -version
执行结果:

整理完毕,完结撒花~ 🌻
参考地址:
1.Docker部署java项目(Dockerfile方式),https://blog.csdn.net/zhabnghenglmm/article/details/124310381
2.[docker]-容器中支持ll命令,https://blog.csdn.net/xujiamin0022016/article/details/125341593
![Mysql问题:[Err] 1055 - Expression #1 of ORDER BY clause is not in GROUP BY clause](https://img-blog.csdnimg.cn/1066a58e1b5d4b119df843e604651406.png)











![Python蓝桥杯训练:基本数据结构 [二叉树] 中](https://img-blog.csdnimg.cn/dec5845a62084f10afa700ee7366802d.jpeg#pic_center)






