微信
支付宝
# 2.4 Docker部署JDK ### 一、jdk17部署(自定义镜像) #### 1.在官网上下载jdk-17_linux-x64_bin.tar.gz,并上传到/usr/local/dockerjdk17目录下 https://download.oracle.com/java/17/latest/jdk-17_linux-x64_bin.tar.gz \`\`\`shell cd /usr/local mkdir dockerjdk17 cd dockerjdk17 wget https://download.oracle.com/java/17/latest/jdk-17_linux-x64_bin.tar.gz \`\`\` #### 2.创建Dockerfile \`\`\`shell vim Dockerfile \`\`\` \`\`\`shell # 基于官方的centos:7镜像作为基础镜像 FROM centos:7 MAINTAINER Graypigeon # 进入相应目录 WORKDIR /usr/local/java # 复制文件 ADD jdk-17_linux-x64_bin.tar.gz /usr/local/java/ # 设置环境变量 ENV JAVA_HOME=/usr/local/java/jdk-17.0.11 ENV CLASSPATH=.:$JAVA_HOME/lib/jrt-fs.jar ENV PATH=$PATH:$JAVA_HOME/bin \`\`\` !\[image-20240705150623745\](https://hgh-typora-image.oss-cn-guangzhou.aliyuncs.com/img/image-20240705150623745.png) \> \*\*注意:jdk-17.0.11,该版本与jdk-17_linux-x64_bin.tar.gz解压后的版本需一致,否则配置环境变量会错误。\*\* \> \> Dockerfile修改后需要重新部署镜像和容器 #### 3.构建Docker镜像 在Dockerfile所在的目录下执行以下命令构建Docker镜像: \`\`\`shell docker build -t jdk17 . \`\`\` !\[image-20240705150711542\](https://hgh-typora-image.oss-cn-guangzhou.aliyuncs.com/img/image-20240705150711542.png) #### 4.运行Docker容器 \`\`\`shell docker run -it --restart=always --name jdk17 jdk17 \`\`\` 其中,-it参数表示交互式运行容器,并使容器的标准输入保持打开状态。 ##### 自动进入容器终端,查看 java jdk 版本 \`\`\`shell java -version \`\`\` !\[image-20240705151700869\](https://hgh-typora-image.oss-cn-guangzhou.aliyuncs.com/img/image-20240705151700869.png) 若报如上错误请看步骤2,成功 后 如下: !\[image-20240705151829803\](https://hgh-typora-image.oss-cn-guangzhou.aliyuncs.com/img/image-20240705151829803.png) #### 5.验证jdk安装 ##### 进入容器并执行命令 \`\`\`shell docker exec -it jdk17 /bin/bash \`\`\` ##### 查看 java jdk 版本 \`\`\`shell java -version \`\`\` ### 二、jdk8部署(使用第三方镜像) #### 1.下载 oracle 官方 java jdk 镜像,默认下载最新版本,以下选择jdk8 \`\`\`shell docker pull openjdk:8 \`\`\` #### 2.查看 Docker Java JDK 版本 ##### 查看本地下载好的镜像 \`\`\`shell docker images \`\`\` ##### 查看容器列表 \`\`\`shell docker ps -a \`\`\` ##### 运行 java jdk 容器 \`\`\`shell docker run -d -it --name --restart=always jdk8 openjdk:8 \`\`\` -i:以交互模式运行容器,通常与 -t 同时使用 -t:为容器重新分配一个伪输入终端,通常与 -i 同时使用 --name:自定义容器名 -d:表示后台运行 docker.io/java:8:指定运行的镜像名称,根据自己实际情况填写,也可以是 image id ##### 再次查看当前运行的容器 \`\`\`shell docker ps \`\`\` ##### 启动容器 \`\`\`shell docker start jdk8 \`\`\` ##### 进入容器并执行命令 \`\`\`shell docker exec -it java-jdk8 /bin/bash \`\`\` ##### 进入容器后,查看 java jdk 版本 \`\`\`shell java -version \`\`\` ##### 退出容器 \`\`\`shell exit \`\`\` #### 已经创建过的容器,如果创建时未指定 --restart=always,可通过update 命令设置 \`\`\` docker update --restart=always 容器ID(或者容器名) \`\`\` \> 参考:https://blog.csdn.net/liu20121787/article/details/129698907
本文是原创文章,采用 CC BY-NC-ND 4.0 协议,完整转载请注明来自 Veylor
最近发布
常用SQL