对于2Docker-centos中升级javajdk感兴趣的读者,本文将会是一篇不错的选择,我们将详细介绍docker如何升级,并为您提供关于CentOS6.0卸载自带的OpenJDK升级Java环境
对于2 Docker-centos中升级java jdk感兴趣的读者,本文将会是一篇不错的选择,我们将详细介绍docker如何升级,并为您提供关于CentOS 6.0卸载自带的OpenJDK升级Java环境、CentOS 安装 Docker 并制造 jdk8 基础镜像、CentOS 环境中使用 Dockerfile 创建 Tomcat+JDK 镜像、centos7 64bit 安装 docker 最新版教程(Centos7 下安装 Docker Engine)的有用信息。
本文目录一览:- 2 Docker-centos中升级java jdk(docker如何升级)
- CentOS 6.0卸载自带的OpenJDK升级Java环境
- CentOS 安装 Docker 并制造 jdk8 基础镜像
- CentOS 环境中使用 Dockerfile 创建 Tomcat+JDK 镜像
- centos7 64bit 安装 docker 最新版教程(Centos7 下安装 Docker Engine)
2 Docker-centos中升级java jdk(docker如何升级)
1 首先查看是否安装java
java -version
2 下载JDK
https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html
没有账号的同学可以使用该网站的账号进行登录下载
http://bugmenot.com/view/oracle.com
3 安装
使用sftp将下载的`jdk-8u291-linux-x64.tar.gz` 上传到 centos7中(直接新建一个文件夹software,然后拖过去)

在/usr下建立一个java目录,以备将java程序安装在此目录下,输入如下命令:
mkdir /usr/java
jdk-8u291-linux-x64.tar.gz
tar -xzvf jdk-8u291-linux-x64.tar.gz
mv jdk1.8.0_291/ jdk
将jdk 移动到/usr/java 中
mv jdk/ /usr/java
4 环境变量的设置
输入命令
vi /etc/profile
添加如下内容
#Java Env
export JAVA_HOME=/usr/java/jdk
export CLAsspATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin
执行配置文件,令其立刻生效,输入如下命令:
source /etc/profile
验证是否安装成功,输入如下命令:
java -version
安装成功!
CentOS 6.0卸载自带的OpenJDK升级Java环境
由于CentOS 6.0在默认情况下,会安装OpenOffice之类的软件,而这些软件需要Java支持,因此系统会默认安装一个JDK环境,如果需要使用特定的Java环境,最好将这些默认安装的JDK卸载或者彻底删除。
在安装完成CentOS 6.0之后,直接在终端中输入“java -version”,系统会显示当前的jdk版本号“java-1.6.0_024”,可以看到jdk使用的是openjdk1.6版本的。
如果此时,直接在centOS的“应用程序--添加/删除软件--基本系统--java”中,删除java,与之相关的openoffice等软件,也会自动随之删除,因此,在进行原有的jdk删除之前,最好先安装配置好新的JDK及相应的环境。
首先,在Sun(现在属于Oracle)的网站下载相应的JDK版本,这里使用的是目前最新的JDK1.7版本
解压jdk-7u2-ea-bin-b07-linux-i586-14_sep_2011.tar.gz
接下来,设置Java的环境变量。
用文本编辑器打开/etc/profile(说明:根目录下的/etc/目录,其中的profile文件)
在profile文件末尾加入如下字符串
JAVA_HOME=/usr/java/jdk1.7.0_02
PATH=$JAVA_HOME/bin:$PATH
CLAsspATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JAVA_HOME
export PATH
export CLAsspATH
至此,新的JDK环境安装配置完成。
接下来,删除原有的jdk环境。
首先,在终端中输入“rpm -qa|grep gcj”,查看gcj的版本号,在这里得到的结果是:
java-XXXX.XXXX.....
libgcj-X.X.X-XXX
其次,卸载系统自带jdk。在终端中输入“yum -y remove java java-XXXX.XXXX.....”,然后等待,等待系统卸载完自带的jdk。最终在终端中显示“Complete!”,卸载完成。
至此,关于CentOS的JDK配置基本完成,重启系统。
在终端中输入“java -version”,系统显示:
java version "1.7.0_02-ea"
Java(TM) SE Runtime Environment (build 1.7.0_02-ea-b07)
Java HotSpot(TM) Client VM (build 22.0-b04,mixed mode)
JDK安装成功!
CentOS 安装 Docker 并制造 jdk8 基础镜像
CentOS 安装 Docker 并制造 jdk8 基础镜像
1. 安装
-
设置仓库
sudo yum install -y yum-utils device-mapper-persistent-data lvm2 sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
-
安装 Docker Engine-Community
sudo yum install docker-ce docker-ce-cli containerd.io
至此,docker 已经安装成功,运行 docker 命令可以查看是否安装成功。
docker version
-
在终端执行 "docker version" 命令,出现如下报错:
[dev@tjptdebug-no software]$ docker version Client: Docker Engine - Community Version: 19.03.12 API version: 1.40 Go version: go1.13.10 Git commit: 48a66213fe Built: Mon Jun 22 15:46:54 2020 OS/Arch: linux/amd64 Experimental: false Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get http://%2Fvar%2Frun%2Fdocker.sock/v1.40/version: dial unix /var/run/docker.sock: connect: permission denied
说明当前账号没有 docker 的权限,需要做如下操作:
sudo groupadd docker #添加docker用户组 sudo gpasswd -a $XXX docker #检测当前用户是否已经在docker用户组中,其中XXX为用户名 sudo gpasswd -a $USER docker #将当前用户添加至docker用户组 newgrp docker #更新docker用户组
-
docker 启动和关闭
sudo systemctl start docker sudo systemctl stop docker
2. 制作基础 jdk 镜像
-
下载 centos 基础镜像
docker pull centos #默认下载最新版本8.2.2004
-
重命名镜像
docker tag 831691599b88 centos:8.2 #重命名镜像 docker rmi centos:latest #删除之前的镜像
-
运行镜像并查看镜像 centos 信息
docker run -it --name=centos centos:8.2 #运行镜像 cat /etc/redhat-release #查看当前镜像的操作系统版本
-
开始打包 JDK,创建 Dockerfile
FROM centos:8.2 #基于centos8.2 MAINTAINER canyang3@iflytek.com #作者 WORKDIR /usr #为Dockerfile中所有RUN、CMD、ENTRYPOINT、COPY和ADD指令设定工作目录 RUN mkdir /usr/local/java #执行命令(这里创建了一个目录) ADD jdk-8u151-linux-x64.tar.gz /usr/local/java #和copy一样,复制文件到指定目录,但是copy不能解压,add自动解压 RUN ln -s /usr/local/java/jdk1.8.0_151 /usr/local/java/jdk #重命名(不知道文件名可以现在宿主机解压后看一下) #设置环境变量 ENV JAVA_HOME /usr/local/java/jdk ENV JRE_HOME ${JAVA_HOME}/jre ENV CLASSPATH .:${JAVA_HOME}/lib:${JRE_HOME}/lib ENV PATH ${JAVA_HOME}/bin:$PATH
-
把 Dockerfile 和 jdk-8u151-linux-x64.tar.gz 放在同一个目录中,运行 docker build 打包 jdk 镜像
chmod +x Dockerfile docker build -t jdk:1.8 .
运行 docker images 查看镜像可以看到 jdk 镜像已经打包成功:
[dev@tjptdebug-no software]$ docker images REPOSITORY TAG IMAGE ID CREATED SIZE jdk 1.8 f68f66098545 2 minutes ago 600MB centos 8.2 831691599b88 7 weeks ago 215MB
-
运行 jdk 镜像,检验是否打包成功。
docker run -it --name jdk8 jdk:1.8
运行 java -version 检验是否打包成功:
[root@513f977e61cb usr]# java -version java version "1.8.0_151" Java(TM) SE Runtime Environment (build 1.8.0_151-b12) Java HotSpot(TM) 64-Bit Server VM (build 25.151-b12, mixed mode)
-
镜像导入导出
docker save -o jdk8.tar jdk:1.8 #导出 docker import jdk8.tar jdk:1.8 #导入
2. 制作 jar 镜像
-
准备资源,把 classification-service-1.0.0-SNAPSHOT.jar 上传到服务器指定目录,并在此目录内新建 Dockerfile 文件。
FROM jdk:1.8 MAINTAINER canyang3@iflytek.com COPY classification-service-1.0.0-SNAPSHOT.jar classification-service-1.0.0-SNAPSHOT.jar EXPOSE 51011 CMD java -jar classification-service-1.0.0-SNAPSHOT.jar
-
打包服务镜像,并运行
# 打包镜像 docker build -t classification-service . # 查看镜像是否存在 docker images # 运行镜像 docker run -d -p 9011:9011 --name=classification-service classification-service # 查看镜像是否运行成功 docker ps
-
验证是否运行成功
# 在linux访问,访问成功说明运行成功 curl http://localhost:9011/classification-service/swagger-ui.html
3. 常用命令
-
docker 打包
docker build -t classification-service .
-
docker 运行
-e "EUREKA_INSTANCE_IP-ADDRESS=172.31.63.26" 指定 docker 内的服务使用哪个固定 IP,不指定的话 eureka 注册的是 docker 内部 IP
docker run -d -p 28602:28602 -e "EUREKA_INSTANCE_IP-ADDRESS=172.31.63.26" --name=classification-service classification-service
-
查看日志
docker logs -f classification-service
-
进入容器内
docker exec -it classification-service /bin/bash
-
删除镜像
docker stop classification-service #停止容器 docker start classification-service #启动容器 docker rm classification-service #删除容器 docker rmi classification-service #删除镜像 docker logs classification-service > log.txt #下载日志
CentOS 环境中使用 Dockerfile 创建 Tomcat+JDK 镜像
环境准备:
1. VMware 下安装 CentOS,安装 Docker 并从公共镜像仓库中下载 CentOS 的镜像到本地仓库
2. 从 tomcat 和 oracle 官网下载 jdk-8u171-linux-x64.rpm 和 apache-tomcat-7.0.77.tar.gz
3. 上传到 CentOS 虚拟机的工作目录:如 /root/software/
4. 上传工程到工作目录,示例中创建的是一个 hello.html
创建 Dockerfile
创建文件 /root/software/Dockerfile, 内容如下:
FROM centos:7.2.1511
MAINTAINER sjg
WORKDIR /home
#上传安装包
ADD jdk-8u171-linux-x64.rpm /home/
#安装JDK
RUN rpm -ivh /home/jdk-8u171-linux-x64.rpm && rm -rf /home/jdk-8u171-linux-x64.rpm
#设置环境变量
ENV JAVA_HOME /usr/java/jdk1.8.0_171-amd64
ENV PATH $PATH:$JAVA_HOME/bin
#安装tomcat
RUN mkdir Tomcat
ADD apache-tomcat-7.0.77.tar.gz /home/
RUN tar zxf /home/apache-tomcat-7.0.77.tar.gz -C /home/Tomcat && rm -rf /home/apache-tomcat-7.0.77.tar.gz
#部署项目
ADD hello.html /home/Tomcat/apache-tomcat-7.0.77/webapps/ROOT/
EXPOSE 8080
#启动容器
ENTRYPOINT /home/Tomcat/apache-tomcat-7.0.77/bin/startup.sh && tail -f /home/Tomcat/apache-tomcat-7.0.77/logs/catalina.out
build Tomcat 镜像
执行:cd /root/software
执行:docker build -t tomcat-sjg:1.0
运行 Tomcat 容器
docker run -d -p 58080:8080 --name mytomcat tomcat-sjg:1.0
查看 hello world 页面
在浏览器中输入:http://[虚拟机地址]:58080/hello.html
其他常用命令:
Docker 的公共仓库中其实已经提供了 tomcat 镜像,但是 java 环境并不是 oracle JDK。
centos7 64bit 安装 docker 最新版教程(Centos7 下安装 Docker Engine)
一。先决条件
首选需要一个 64 位操作系统和 3.10 或者更版本的内核。
查看当前内核版本:
?
1 2 |
$ uname -r 3.10.0-229.el7.x86_64 |
二.yum 安装 Docker Engine
安装 Docker Engine 有两种方式,我们先选择 yum 安装,并且 Docker 官方提供了 yum 源。
1. 使用普通用户 sudo 或者 root 登录到你的服务器,更新 yum,确保你的软件都是最新的
?
1 |
$ yum update |
2. 添加 Docker 的 yum 源
?
1 2 3 4 5 67 8 |
$ sudo tee /etc/yum.repos.d/docker.repo <<-''EOF'' [dockerrepo] name=Docker Repository baseurl=https://yum.dockerproject.org/repo/main/centos/7/ enabled=1 gpgcheck=1 gpgkey=https://yum.dockerproject.org/gpg EOF |
3. 安装 Docker 软件包
?
1 |
$ yum install docker-engine |
4. 设置 Docker 服务开机自启
?
1 |
$ systemctl enable docker.service |
5. 启动 Docker 服务
?
1 |
$ systemctl start docker |
6. 验证 Docker 是否安装成功
?
1 |
$ docker run --rm hello-world |
至此:docker 最新版已经安装完成,下面我们进行生产环境镜像的创建,使用 dockerfile
dockerfile (白话其实就是一个脚本,把一个纯镜像按照所需应用或者环境每个操作集成到一个文件执行安装的过程,类似于 linux 的 shell.)
走世界自由行环境需求(tomcat+jdk)
#以下是我们采用纯净 centos,之后安装所需环境依赖的应用(tomcat+jdk)
FROM centos
#以下是我们声明的维护人或者叫做作者
MAINTAINER locutus "zoushijie"
# OS 环境配置
RUN yum install -y wget
# 安装 JDK
RUN mkdir /opt/jdk
RUN wget -P /opt/jdk/ http://zsj-linux.oss-cn-hangzhou.aliyuncs.com/yunwei/jdk-8u162-linux-x64.tar.gz
RUN tar -zxvf /opt/jdk/jdk-8u162-linux-x64.tar.gz -C /opt/jdk && rm -rf /opt/jdk/jdk-8u162-linux-x64.tar.gz
# 安装 tomcat
RUN mkdir /opt/tomcat
RUN wget -P /opt/tomcat http://45.77.240.64/apache-tomcat-8.0.47.tar.gz
RUN tar -zxvf /opt/tomcat/apache-tomcat-8.0.47.tar.gz -C /opt/tomcat && rm -rf /opt/tomcat/apache-tomcat-8.0.47.tar.gz
#设置环境变量
ENV JAVA_HOME /opt/jdk/jdk1.8.0_162
ENV CATALINA_HOME /opt/tomcat/apache-tomcat-8.0.47
ENV PATH $PATH:$JAVA_HOME/bin
ENV CLASSPATH .:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
#打包项目并拷贝到 tomcat webapps 目录
RUN mkdir /opt/webapp
ADD ./ /opt/webapp
RUN cd /opt/webapp && cp /opt/webapp/war/eureka-server.war /opt/tomcat/apache-tomcat-8.0.47/webapps/
#开启内部服务端口
EXPOSE 8080
#启动 tomcat 服务器
CMD ["./opt/tomcat/apache-tomcat-8.0.47/bin/catalina.sh","run"] && tail -f /opt/tomcat/apache-tomcat-8.0.47/logs/catalina.out
此为没有修改默认目录容器,下面我们进行修改默认访问目录操作
查看正在运行的容器:docker ps -l
之后进入容器:docker exec -it dd46f73e366e /bin/bash
进入 tomcat 修改 server.xml 文件,添加对应微服务名称:<Context path=""docBase=" 微服务名称 "debug="0"reloadable="true" />
之后要保证容器运行的状态下退出交互界面:Ctrl+p+q,我们可以看到容器仍在运行,下面我们保存一下刚才修改的容器,并以微服务命名
docker commit dd4 eureka-server
查看新生成的镜像:出现了名为 eureka-server 的镜像
删除本地不用的镜像。docker rmi -f <镜像 id>,首先先停止运行中的容器,docker stop < 镜像 id>,停止运行中的容器,要从 docker ps 里查看 id. 不是在 docker images 里查看。
今天关于2 Docker-centos中升级java jdk和docker如何升级的介绍到此结束,谢谢您的阅读,有关CentOS 6.0卸载自带的OpenJDK升级Java环境、CentOS 安装 Docker 并制造 jdk8 基础镜像、CentOS 环境中使用 Dockerfile 创建 Tomcat+JDK 镜像、centos7 64bit 安装 docker 最新版教程(Centos7 下安装 Docker Engine)等更多相关知识的信息可以在本站进行查询。
本文标签: