千家信息网

如何使用Docker搭建Java环境

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,本文小编为大家详细介绍"如何使用Docker搭建Java环境",内容详细,步骤清晰,细节处理妥当,希望这篇"如何使用Docker搭建Java环境"文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一
千家信息网最后更新 2026年11月01日如何使用Docker搭建Java环境

本文小编为大家详细介绍"如何使用Docker搭建Java环境",内容详细,步骤清晰,细节处理妥当,希望这篇"如何使用Docker搭建Java环境"文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。

docker是干什么的

docker 是一个基于linux容器(lxc-linux container)的高级容器引擎,基于go语言开发,源代码托管在 github 上, 遵从apache2.0协议开源。docker的目标是实现轻量级的操作系统虚拟化解决方案。

学习docker首先要了解几个概念:

镜像-docker的镜像和常见的系统iso镜像类似,包含了应用程序的信息;

容器-容器相当于一个可以运行起来的虚拟机,应用程序运行在容器中,docker运行在"docker"上;

仓库-仓库是存放镜像的地方,有类似git的版本控制,同样分为公开仓库(public)和私有仓库(private)两种形式;

docker支持大部分的linux发行版,通过使用docker容器,就可以在不同的操作系统,不同的机器上运行自己的应用,不用关心硬件、运行环境之类的配置,应用程序的迁移变得非常简单。

docker和传统虚拟化技术的对比

相比传统虚拟机技术,docker资源占用少,启动更快,很大的方便了项目的部署和运维。

docker是在操作系统层面上实现虚拟化,复用本地主机的操作系统,传统方式是在硬件的基础上,虚拟出多个操作系统,然后在系统上部署相关的应用。

这张图片很形象的说明了docker和vm之类的传统虚拟化技术的区别:

vs

准备

首先需要准备一个centos的操作系统,虚拟机也可以。具体配置要求如下:

1.必须是64位操作系统
2.建议内核在3.8以上

安装docker

只需要通过以下命令即可安装docker软件

yum -y install docker-io

可使用以下命令,查看docker是否安装成功:

docker version

如果输出看docker的版本号,则说明安装成功了,可通过以下命令启动docker服务:

service docker start

如果service命令启动不了用下面的

systemctl start docker.service

做法

就像安装软件一样,我们首先需要有一张刻录了该软件的光盘,如果使用的是虚拟光驱,那么就需要准备镜像的文件,通过它来安装软件。在docker的世界里,也是有镜像的文件的,已经安装我们所需的操作系统,我们一般称为docker镜像

下载镜像

docker search 

使用docker pull imagename(镜像名)来下载镜像

下载完成后使用以下命令查看本地所有的镜像:

docker images

当下载完成后,你应该会看到:

repository        tag         image id      created       virtual sizedocker.io/centos   centos7       f753707788c5    12 days ago     127.1 mb

如果看到以上输出,说明你可以使用 "docker.cn/docker/centos"这个镜像了,或将其称为仓库(repository),该镜像有一个名为"centos7"的标签(tag),此外还有一个名为"25c5298b1a36"的镜像id(这个是随机生成,所以每个人看到的都不一样)

启动容器

容器是在镜像的基础上来运行的,一旦容器启动了,我们就可以登录到容器中,安装自己所需的软件或应用程序。

使用进入已经运行的docker

docker attach dabfb413d8cf[容器id]

使用以下命令即可启动容器:

docker run -i -t -v /root/software/:/mnt/software/ --privileged=true 2a392a47afc5

docker run <相关参数> <镜像 id> <初始命令>

其中相关参数包括:

-i:表示以交互模式运行容器

-t:表示容器启动后会进入其命令行

-v:表示需要将本地哪个目录挂载到容器中,格式-v<宿主机目录>:<容器目录>

假设我们的所有安装程序都放在了宿主机的/root/software/目录下,现在需要将其挂载到容器的/mnt/software/目录下。

这一切做好后你就可以为这个容器安装软件了。

docker 传送文件命令

docker cp more.log e7de404c00bd:/tmp/ 1f8787b81bcd

安装java开发环境

我们需要安装的有jdk1.7,、tomcat7、nginx,安装包去官网下载就行了

1.安装jdk

首先,解压jdk程序包:

tar -zxf jdk-7u71-linux-x64.tar.gz -c

如果是rpm包

rpm -ivh jdk-7u71-linux-x64.tar.gz

然后重命名文件夹

mv jdk1.7.0_71/ jdk/

最后配置环境变量

vi ~/.bashrc

在文件末尾添加如下配置:

export java_home=/opt/jdkexport path=$path:$java_home

·用文本编辑器打开/etc/profile

·在profile文件末尾加入:

export java_home=/usr/share/jdk1.6.0_14  export path=$java_home/bin:$path  export classpath=.:$java_home/lib/dt.jar:$java_home/lib/tools.jar

最后使用source命令,让环境变量生效:

source ~/.bashrcsource /etc/profile

1.安装tomcat

也是一样,解压tomcat程序包:

tar -zxf apache-tomcat-7.0.55.tar.gz

然后重命名tomcat目录:

mv apache-tomcat-7.0.55/ tomcat/

编写一个运行脚本,当启动容器时,运行该脚本,启动tomcat,具体过程如下:

vi /root/run.sh

然后,编辑脚本内容如下:

#!/bin/bashsource ~/.bashrcsh /opt/tomcat/bin/catalina.sh run

注意:这里必须先加载环境,然后使用tomcat的运行脚本来运行tomcat

最后,为运行脚本添加执行权限:

chmod u+x /root/run.sh

1.安装nginx

先去官网下载源码包注意要是gz的

下载地址

下载完后,解压安装包:

tar -zxvf nginx-1.11.5.tar.gz

然后再配置安装变量,打开解压后的目录-执行命令

cd nginx-1.11.5

配置安装环境

./configure --prefix=/usr/local/servers/nginx "/usr/local/servers/nginx"是安装路径

有可能会出现./configure: error: c compiler cc is not found

这时需要运行命令更新一下gcc

yum install gcc gcc-c++ ncurses-devel perlyum -y install pcre-develyum -y install zlib-develyum -y install autoconf libtool make

在解压目录执行:

make

切换到root用户执行安装命令

make install

创建软链

ln -s /usr/local/servers/nginx/sbin/nginx /usr/local/bin/nginx

启动nginx服务

nginx

再用 ps -ef|grep nginx查看是否启动成功

提交docker镜像

首先退出你刚才配置好的docker镜像

exit

然后使用以下命令可以看到刚才退出的docker镜像

docker ps -a

再使用以下命令,根据某个"容器id"来创建一个新的"镜像":

docker commit 57c312bbaad1 javaweb:0.1

该容器id是"57c312bbaad1",所创建的镜像名是"javaweb"

注意:"57c312bbaad1" 这个id是使用 docker ps 命令来查看的

提交了新的镜像你可以把这个镜像储存tar包

docker  -o ~/javaweb.tar javaweb

docker save -o 保存的目录 镜像名

启动容器

先用 docker images看看当前所有的镜像

启动最新创建的镜像

docker run -d -p 80:80 --name javaweb javaweb:0.1 /root/run.sh

-d:表示以"守护模式"执行/root/run.sh脚本,此时tomcat控制台不会出现在输出终端上。

-p:表示宿主机与容器的端口映射,此时将容器内部的80端口映射为宿主机的 80端口,这样就向外界暴露了80端口,可通过docker网桥来访问容器内部的80端口了

--name:表示容器名称,用一个有意义的名称命名即可

读到这里,这篇"如何使用Docker搭建Java环境"文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注行业资讯频道。

容器 镜像 命令 运行 系统 环境 操作系统 目录 程序 配置 文件 脚本 软件 应用 仓库 端口 传统 应用程序 成功 内容 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 圆梦互联网科技 互联网巨头反垄断金融科技 上海喔噻互联网科技 壕鑫互联网络科技 融贸通互联网科技 大白互联网科技 互联网科技公司做什么 顺网科技2021年互联网排名 无锡溥仪互联网科技有限公司 互联网科技教育视频 智腾互联网科技有限公司 中国航天科技大学国际工业互联网 开一家科技互联网公司需要多少钱 电子科技大学互联网创业大赛 广西互联网科技孵化中心 为客找房互联网科技公司怎么样 互联网企业科技类企业如何做账 江苏苏星互联网科技有限公司 北京品多多互联网科技有限公司 互联网科技快速发展优美句子 互联网和科技创新 互联网科技公司税收优惠 互联网科技小贷 时间互联网络科技 互联网科技有限公司 翻译 互联网科技实习生岗位 福建互联网展示科技馆设计 中国科技和美国互联网 杭州科技互联网公司有哪些 互联网的黑科技实验室
0