docker
Docker是一种开放源代码软件,可以帮助开发人员更轻松地创建、部署和运行应用程序。它是一种容器化技术,可以将应用程序及其依赖项打包在一个容器中,从而使应用程序更加便携和可移植。Docker将操作系统、应用程序和硬件虚拟化进行了彻底的分离,使应用程序更加容易运行在不同的计算机环境中。Docker可以快速构建、部署和管理应用程序,从而加快了应用程序的迭代速度。它还可以减少服务器资源的使用,提高系统的可扩展性。
Docker的目标是为开发人员提供一个简单的方式来构建、发布和运行应用程序,并极大地简化了应用程序的生命周期管理。
jdk
JDK (Java Development Kit) 是 Java 开发的标准平台。它包含了 Java 编译器、Java 虚拟机、Java
标准库等组件,是 Java 开发和运行的必要工具。 JDK 包含了三大部分: Java 编译器:JDK 包含了 Java
编译器,可以将编写的 Java 代码编译成 Java 字节码; Java 虚拟机:JDK 包含了 Java
虚拟机(JVM),可以运行编写好的 Java 字节码,实现跨平台的特性; Java 标准库:JDK 包含了 Java
的标准库,提供了许多常用的 Java 类和接口,使得 Java 开发更加简单、高效。
部署过程
下载jdk的tar包(注意cpu架构)
加载centos的镜像
docker pull centos
启动容器
docker run -itd --name name -p 11223:11223 --restart always centos bash
复制安装包
docker cp jdk-21.tar.gz name:/usr/local
配置环境变量(建议是.bashrc中)
export JAVA_HOME=/usr/local/jdk-21
export CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib
export PATH=$JAVA_HOME/bin:$PATH
查看效果
java -version
提交镜像
docker commit -a me -m jdk21 jdk21:1.0
后面就可以通过原始镜像创建新的项目了
遇到的问题
导出环境变量是在/etc/profile中不生效
原因:
在Docker中配置/etc/profile文件有时不会生效,因为/etc/profile是在登录时执行的,而Docker中默认情况下没有登录shell。
解决方案:
"source /etc/profile" >> /root/.bashrc