docker 安装 centos7 搭建 java 环境

拉取 centos7 镜像

docker pull centos:7
image.png

创建守护式容器

docker run -di --name=mycentos centos:7
image.png

进入容器

docker exec -it mycentos /bin/bash
  • 先安装wget命令
yum -y install wget
  • 修改 yum 源为阿里 yum 源
  1. 进入 yum 目录
cd /etc/yum.repos.d/
  1. 保存原有 yum 源
mv CentOS-Base.repo CentOS-Base.repo.bak
  1. 下载阿里云 yum 源
wget http://mirrors.aliyun.com/repo/Centos-7.repo
  1. 更新 yum 源
yum clean all
yum makecache
yum update
  • 如果 ifconfig 命令不存在


    image.png
  • 安装 ifconfig
yum -y install net-tools

安装完毕在使用 ifconfig 就可以查看到 ip 了


image.png
  • 使用 yum 安装 jdk
  1. 执行命令yum -y list java*查看可安装java版本
yum -y list java*
image.png
  1. 选择一个java版本进行安装,这里我安装java1.8
yum install -y java-1.8.0-openjdk.x86_64
  1. 等待执行完成,执行 java -version 查看 jdk 版本
java -version
image.png
  1. jdk 被安装到了 /usr/lib/jvm 目录下
    进入 /usr/lib/jvm 目录查看
cd /usr/lib/jvm
image.png
  • 卸载 jdk
  1. 查询是否安装 jdk
    • 执行命令 rpm -qa | grep java 或者 rpm -qa | grep jdk 或者 rpm -qa | grep gcj


      image.png
    • 执行命令卸载 rpm -e --nodeps java-1.8.0-openjdk-1.8.0.262.b10-0.el7_8.x86_64
    • 执行命令下载 rpm -e --nodeps java-1.8.0-openjdk-headless-1.8.0.262.b10-0.el7_8.x86_64
    • 执行查看命令 java -version,可以查看到已经卸载


      image.png
tar -xvf jdk-8u261-x64.tar.gz
image.png
  • 安装 rzsz 命令 (可以上传已经下载好的压缩包或者文件)
    执行命令
yum -y install lrzsz

下载好后执行 rz + 回车 命令,弹出对话框,可以上传本地的文件


image.png

image.png
  • 配置jdk 环境
    1. 执行命令 vi /etc/profile
    2. 在末尾添加(对应上自己的jdk路径)
        #set java environment
    JAVA_HOME=/usr/local/src/java/jdk1.7.0_71
    CLASSPATH=.:$JAVA_HOME/lib.tools.jar
    PATH=$JAVA_HOME/bin:$PATH
    export JAVA_HOME CLASSPATH PATH

image.png
  1. 保存退出
  2. 执行命令 source /etc/profile 使更改的配置立即生效
  3. 执行 java -version 命令可以查看到 jdk 信息


    image.png
  • 如果 wget 下载 太慢,可以试一下 mwget
    wget相对于浏览器来说,速度会比较偏慢,特别是国外的网站,mwget是一个多线程下载应用,可以明显提高下载速度。
    执行命令,下载,解压,安装
wget http://jaist.dl.sourceforge.net/project/kmphpfm/mwget/0.1/mwget_0.1.0.orig.tar.bz2
yum install bzip2 gcc-c++ openssl-devel intltool -y
bzip2 -d mwget_0.1.0.orig.tar.bz2
tar -xvf mwget_0.1.0.orig.tar 
cd mwget_0.1.0.orig
./configure 
make
make install 
  • 如果没有 make 命令
    安装
yum -y install gcc automake autoconf libtool make

安装 g++

yum install gcc gcc-c++
  • 下载 tomcat 使用 mwget
mwget https://archive.apache.org/dist/tomcat/tomcat-8/v8.0.53/bin/apache-tomcat-8.0.53.tar.gz
image.png

可以看到速度明显加快了 ,是多线程下载的

  • 解压 tomcat
tar -xvf apache-tomcat-8.0.53.tar.gz
  • 如果没有安装 firewalld 防火墙命令,执行安装命令
yum install firewalld
  • 启动防火墙,如果出先不能加载
[root@394a598ad9fb usr]# systemctl start firewalld
Failed to get D-Bus connection: Operation not permitted
  • 解决方法,重新构建容器,使用命令 docker run -di --name=mycentos2 --privileged=true centos:7 /usr/sbin/init,但是我们之前做的工作全白费了,不要着急,我们打包之前的 centos 镜像,并生成新的镜像
root@hupan-virtual-machine:~# docker commit mycentos mycentos2
image.png

重新构建容器并映射两个端口

docker run -di --name=mycentos2 -p 2222:22 -p 9090:8080 --privileged=true centos:7 /usr/sbin/init 

2222 端口用做远程访问,9090 用户访问容器中的 tomcat

进入容器,这时候就可以启动防火墙了

docker exec -it mycentos2 /bin/bash
  • firewalld的基本用法
    1. 启动: systemctl start firewalld
    2. 关闭: systemctl stop firewalld
    3. 查看状态: systemctl status firewalld
    4. 开机禁用 : systemctl disable firewalld
    5. 开机启用 : systemctl enable firewalld
    6. 查看开放的端口:firewall-cmd --list-ports
    7. 添加端口:firewall-cmd --add-port=8080/tcp --permanent (–permanent永久生效,没有此参数重启后失效)
    8. 不中断服务的重新加载:firewall-cmd --reload

进入tomcat bin 目录

cd /usr/local/java/apache-tomcat-8.0.53/bin/

启动 tomcat

./startup.sh

查看启动状态

ps -ef | grep tomcat
image.png

成功启动

开发 mycentos2 容器中的 22 端口 和 8080 端口

firewall-cmd --add-port=22/tcp --permanent
firewall-cmd --add-port=8080/tcp --permanent

刷新防火墙

firewall-cmd --reload

访问容器内的 tomcat 192.168.245.131 为宿主机 ip
http://192.168.245.131:9090/

image.png

已经成功访问到了容器内的 tocmat

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,402评论 6 499
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,377评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,483评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,165评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,176评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,146评论 1 297
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,032评论 3 417
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,896评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,311评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,536评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,696评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,413评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,008评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,659评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,815评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,698评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,592评论 2 353