Docker容器化Java程序

简介: Docker容器化Java程序



Docker容器化Java程序

Docker:用于创建和管理容器的开源平台

Java运行环境:Java是一个跨平台的编程语言,因此在CentOS系统中需要安装Java运行环境才能运行Java代码

以下是在CentOS系统中容器化一个简单的Java代码"Hello, World!"的具体步骤:

  • 安装Docker

使用以下命令安装Docker:

sudo yum install docker
  • 安装Java运行环境

使用以下命令安装Java运行环境:

sudo  yum install java-1.8.0-openjdk-devel
  • 测试环境
echo $JAVA_HOME     #查看当前系统中设置的 Java 环境变量 JAVA_HOME 的值
which javac       # Java 编译器 javac 的路径
  • 创建HelloWord.Java文件(内容如下:)
public class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Hello, World!");
    }
}

  • 编写Java代码

在CentOS系统中创建一个名为HelloWorld.java的文件,包含以下内容:(文件保持与dockerfile同一目录)

javaCopy codepublic class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Hello, World!");
    }
}

  • 编写Dockerfile

创建一个空的目录用于编写 Dockerfile,例如:

mkdir docker-demo
cd docker-demo

在该目录下创建一个名为 Dockerfile 的文件,并使用文本编辑器打开它,例如:

vim Dockerfile
# 使用官方CentOS 7作为基础镜像
FROM centos:7
# 安装Java
RUN yum update -y && \
    yum install -y java-1.8.0-openjdk-devel && \
    yum clean all
# 配置java环境
ENV JAVA_HOME /usr/lib/jvm/java-1.8.0-openjdk
ENV PATH $PATH:$JAVA_HOME/bin
# 复制应用程序Java文件到容器中
COPY HelloWorld.java /app/HelloWorld.java
# 设置工作目录
WORKDIR /app
# 编译Java文件
RUN javac HelloWorld.java
# 运行应用程序
CMD ["java", "HelloWorld"]

上述Dockerfile中使用了官方CentOS 7作为基础镜像,安装了Java运行环境,复制应用程序Java文件到容器中的/app目录下,并设置/app为工作目录,然后编译Java文件,并使用CMD指令启动应用程序

FROM:从一个已有的镜像作为基础镜像

MAINTAINER:指定镜像作者信息

RUN:在容器内执行命令

COPY:将文件从本地主机复制到容器内

EXPOSE:声明镜像中的容器会监听哪些端口

CMD:定义容器启动命令

ENV :指令用于设置环境变量

  • 构建Docker镜像

在Dockerfile所在目录下,执行以下命令构建Docker镜像:

sudo docker build -t hello-world .

其中hello-world为镜像名称,.表示Dockerfile所在目录

  • 运行Docker容器

构建Docker镜像后,可以使用以下命令运行Docker容器:

sudo docker run hello-world

其中hello-world为容器的名称或者镜像的名称。

  • 查看输出结果

在容器启动后,控制台输出"Hello, World!"

以上是在CentOS系统中容器化一个简单的Java代码"Hello, World!"的具体步骤

export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk
export PATH=$JAVA_HOME/bin:$PATH
source /etc/profile
rpm -qa | grep java
rpm -e
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH

🌼 结语:创作不易,如果觉得博主的文章赏心悦目,还请——点赞👍收藏⭐️评论📝


目录
相关文章
|
3天前
|
JSON JavaScript 开发者
Composerize神器:自动化转换Docker运行命令至Compose配置,简化容器部署流程
【8月更文挑战第7天】Composerize神器:自动化转换Docker运行命令至Compose配置,简化容器部署流程
Composerize神器:自动化转换Docker运行命令至Compose配置,简化容器部署流程
|
1天前
|
Docker 容器
|
1天前
|
网络协议 Linux 网络安全
遇到Docker容器网络隔断?揭秘六种超级实用解决方案,轻松让Docker容器畅游互联网!
【8月更文挑战第18天】Docker容器内网络不通是开发者常遇问题,可能因网络配置错、Docker服务异常或防火墙阻碍等原因引起。本文提供六种解决策略:确认Docker服务运行状态、重启Docker服务、检查与自定义Docker网络设置、验证宿主机网络连接、临时禁用宿主机IPv6及检查防火墙规则。通过这些步骤,多数网络问题可得以解决,确保容器正常联网。
7 1
|
2天前
|
安全 Ubuntu Docker
深度挖掘Docker 容器
【8月更文挑战第16天】Docker容器间的连接是容器化技术的关键,支持容器与宿主机的数据交换。主要方法包括:1) 利用Docker网络驱动创建自定义网络,使容器相连通信;2) 采用Docker Compose通过配置文件简化多容器应用的部署与互联;3) 虽不推荐,早期使用--link参数实现容器互联;4) 通过环境变量配置连接信息;5) 共享卷支持文件共享和间接通信。推荐使用Docker网络和Docker Compose以实现高效灵活的容器间通信。
13 3
|
3天前
|
Ubuntu Linux Docker
使用Docker进行容器化:从零开始的技术博文
【8月更文挑战第16天】从零开始掌握Docker容器化技术:本文详细介绍Docker基本概念、安装配置流程及核心组件。涵盖Docker镜像与容器管理、镜像加速配置,以及如何利用Dockerfile自动化构建镜像,助您快速入门并高效运用Docker进行软件开发与部署。
|
4天前
|
Docker 容器
Docker - 网络模式与容器网络互连
Docker的网络模式包括桥接模式、主机模式和覆盖网络模式,以及如何通过Docker的网络操作命令实现容器网络互连。
9 0
|
4天前
|
Linux Docker 容器
在CentOS操作系统上使用yum安装/使用/卸载Docker容器引擎
在CentOS操作系统上安装、配置、使用和卸载Docker容器引擎的详细步骤,包括配置Docker镜像加速的方法。
24 0
|
4天前
|
存储 Ubuntu Linux
如何在 Ubuntu 上使用 Docker 容器化和部署多个 WordPress 应用程序
如何在 Ubuntu 上使用 Docker 容器化和部署多个 WordPress 应用程序
11 0
|
4天前
|
Ubuntu NoSQL 关系型数据库
在Ubuntu操作系统上安装/使用/卸载Docker容器引擎
这篇文章详细介绍了在Ubuntu操作系统上安装、配置、使用、基本操作以及卸载Docker容器引擎的步骤,包括配置Docker镜像加速和使用Docker部署Nginx、MySQL和Redis服务器的方法。
21 0
|
5天前
|
存储 缓存 Ubuntu
Docker详解:如何创建运行Memcached的Docker容器
Docker详解:如何创建运行Memcached的Docker容器
8 0