【Quickstart Docker】$3-2 构建镜像 Dockerfile文件编写一个能够构建java环境的镜像

本文介绍如何从源码构建包含Java环境的Docker镜像,并通过设置环境变量及指定构建标签,确保镜像的可识别性和正确运行。同时,提供Docker命令的详细解释,包括run和build的参数说明。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 编写一个能够构建java环境的镜像

#指定源镜像
FROM    hoas/ubuntu:19081701
#说明维护人员 已被弃用,可使用 LABEL maintainer="SvenDowideit@home.org.au"代替
MAINTAINER HOAS zhangqingmu@yeah.net 

# 增加源包到指定目录
ADD jdk-8u212-linux-x64.tar.gz /usr/local/

#配置环境变量
ENV JAVA_HOME /usr/local/jdk1.8.0_212
ENV CLASSPATH .:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
ENV PATH $PATH:$JAVA_HOME/bin

1.1 放到指定目录后,运行命令 docker build ., 查看镜像 docker images

,发现新增了一个镜像,但是 REPOSITORY 和 TAG 都是 此时执行如下命令,可以得到jdk版本号,说明,docker容器内运行成功。

[root@hoas jdk8u212]# docker run 799fa2fe4d17 javac
[root@hoas jdk8u212]# docker run 799fa2fe4d17 java
[root@hoas jdk8u212]# docker run 799fa2fe4d17 java -version
java version "1.8.0_212"
Java(TM) SE Runtime Environment (build 1.8.0_212-b10)
Java HotSpot(TM) 64-Bit Server VM (build 25.212-b10, mixed mode)

此时查看容器内部 (docker -i -t run 799fa2fe4d17 ), 使用 java javac java-version 命令,亦可操作,查看环境变量

root@2ff3616fcbb8:/usr/bin# env
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/jdk1.8.0_212/bin
PWD=/usr/bin
JAVA_HOME=/usr/local/jdk1.8.0_212
SHLVL=1
HOME=/root
CLASSPATH=.:/usr/local/jdk1.8.0_212/lib/dt.jar:/usr/local/jdk1.8.0_212/lib/tools.jar

但是这里有个问题,REPOSITORY 和 TAG 都是 ,这是我们需要指定一个 tag来让我们更好的识别这个镜像,我们可以用之前学习的命令 docker tag 进行标签,运行镜像。

[root@hoas jdk8u212]# docker run -d -it hoas/jdk1.8:19081901 /bin/bash

创建容器的时候一定要使用 -it /bin/bash这种方式,要不然jdk的容器起不来。

1.2 放到指定目录后,运行命令 docker build -t, 查看镜像 docker images

在构建镜像时直接指定TAG是一个好的方法

[root@hoas jdk8u212]# docker build -t hoas/jdk1.8:19081901 .

2. 使用命令说明

  • docker run 运行容器:
    -d: 后台方式运行容器。

  • docker build 运行容器:
    -t: 指定容器名
    -f: 指定构建文件名 Dockerfile

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值