linux下jdk的安装和docker打包运行镜像

这篇具有很好参考价值的文章主要介绍了linux下jdk的安装和docker打包运行镜像。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

linux下jdk的安装和docker打包运行镜像

1、jdk安装

https://www.oracle.com/java/technologies/downloads/#java8

从官网上下载linux版本的JDK

JDK下载地址

linux下jdk的安装和docker打包运行镜像

通过ftp或者rz命令上传到linux

linux下jdk的安装和docker打包运行镜像

我这里需要把JDK安装在/usr/local目录下,在/usr/local下新建文件加java

mkdir /usr/local/java

tar命令解压JDK包,解压地址是 /usr/local/java

tar -zxvf jdk-8u311-linux-x64.tar.gz 

得到文件:jdk1.8.0_311 

接下来配置环境变量

vim命令打开/etc/profile

vim /etc/profile

添加下面内容

#Set Java_Environment
export JAVA_HOME=/usr/local/java/jdk1.8.0_311
export JRE_HOME=/usr/local/java/jdk1.8.0_311/jre
export CLASSPATH=.:$JAVA_HOME/lib$:JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin/$JAVA_HOME:$PATH

linux下jdk的安装和docker打包运行镜像

加载环境变量

source /etc/profile

验证是否安装成功

java -version

linux下jdk的安装和docker打包运行镜像

linux下jdk的安装和docker打包运行镜像

成功!

2、nohup安装

解决:Linux下-bash: nohup: command not found或者bash: nohup: 未找到命令的问题

首先,没有发现nohup,先安装

yum install coreutils

其次,如果已经安装 ,查看本地是否有,查看nohup具体位置(注意:nohup的字母不要打错,之前就是因为打成了“nohub”而浪费了很多时间的

which nohup

linux下jdk的安装和docker打包运行镜像
再次,将具体位置进行配置

vim ~/.bash_profile 

linux下jdk的安装和docker打包运行镜像
然后如下图所示,在环境变量PATH后面加上:usr/bin
linux下jdk的安装和docker打包运行镜像
然后,保存,刷新刷新生效

:wq

source ~/.bash_profile

最后,进行验证

nohup --version

linux下jdk的安装和docker打包运行镜像

2.1、创建springboot项目

在spring-boot项目中得用spring-boot的打包插件

这是spring-boot的打包插件

pom.xml

<!--打包插件-->
    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <configuration>
                    <excludes>
                        <exclude>
                            <groupId>org.projectlombok</groupId>
                            <artifactId>lombok</artifactId>
                        </exclude>
                    </excludes>
                </configuration>
            </plugin>
        </plugins>
    </build>

2.2、IDEA+Spring Cloud+Maven模块化项目打包

背景:采用Spring Cloud框架搭建了一个项目,里面包含多个微服务,其中项目A依赖项目B,项目B里面是公共类(model、utils等)

1.B项目pom不能引入spring-boot-maven-plugin插件

<build>
	<plugins>
		<plugin>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-maven-plugin</artifactId>
		</plugin>
	</plugins>
</build>

spring-boot-maven-plugin打包出来的jar是不可依赖的,这个插件会在Maven的package后进行二次打包,目的为了生成可执行jar包,正是因为产生了可执行jar包,所以A项目打包时就找不到B项目的类。

2.第一次打包,要在父工程打包,本次是将父工程中的modules打成jar包,所以这些modules不能引入spring-boot-maven-plugin插件。

linux下jdk的安装和docker打包运行镜像

2.第二次打包,打包基础服务模块,在微服务模块中打包

linux下jdk的安装和docker打包运行镜像

打包成功!

3、服务器后台启动java项目

linux下

1查看当前jar的pid

ps -ef|grep jar包名

2.终止当前jar

kill -9 pid

3、启动指定项目

nohup java -jar jar包名 --server.port=指定端口号  > 日志文件.log 2>&1 &

&表示后台运行

比如我的

nohup java -jar demo1-0.0.1-SNAPSHOT.jar > /mydata/docker-file/logs/demo1-1239.log 2>&1 &

nohup 和 & 是保证后台运行不终止的意思,2>&1是将错误输出定位到左边的文件中

4、查看后台启动日志

tail -f /mydata/docker-file/logs/demo1-1239.log

win下

1查看当前jar的pid

jps

2.终止当前jar

taskkill /pid  12345 -f

3.启动指定项目

@echo off

start javaw -jar  D:\JavaApp\znzs_test\law_snapshot.jar

exit

4、docker构建并运行镜像

4.1、编写Dockerfile

vim Dockerfile
FROM openjdk:8-jdk-slim
LABEL maintainer=demo1-test

COPY target/*.jar  /app.jar

ENTRYPOINT ["java","-jar","/app.jar"]

target目录下

demo1-0.0.1-SNAPSHOT.jar

把Dockerfile和target目录上传linux服务器

linux下jdk的安装和docker打包运行镜像

4.2、docker构建镜像

注意: -t 全称为 -tag

docker build -t java-demo:v1.0 -f Dockerfile 
  1. -f Dockerfile可以省略
  2. java-demo:v1.0任意可以取名
  3. 末尾的" . "表示在当前目录执行build命令
#用这个
docker build -t java-demo:v1.0 .

查看镜像是否构建成功

docker images

linux下jdk的安装和docker打包运行镜像

4.3、运行镜像

docker run -d -p 8080:8080 java-demo:v1.0

#或者随便指定一个名称: --name myjava-app

docker run -d -p 8080:8080 --name myjava-app java-demo:v1.0

-d表示后台运行,-p 指定端口,8080:8080 表示从机器的8080映射到 ==> java的8080

linux下jdk的安装和docker打包运行镜像

4.4、访问应用

http://192.168.66.30:8080/hello

linux下jdk的安装和docker打包运行镜像

4.5、查看容器运行日志

1、

#查看容器id
docker ps

2、

#根据容器id查看容器运行日志
docker logs CONTAINER ID
#根据容器id查看容器运行的全部日志,日志持续更新
docker logs -f CONTAINER ID

linux下jdk的安装和docker打包运行镜像

4.6、firewall防火墙开放端口

如果访问不了应用,就查看防火墙端口是否开放

查看防火墙状态

systemctl status firewalld

开启防火墙

systemctl start firewalld.service

添加端口

firewall-cmd --zone=public --add-port=8080/tcp --permanent

重启防火墙

systemctl restart firewalld.service

查看所有开放的端口

firewall-cmd --list-ports

关闭防火墙

systemctl stop firewalld.service

删除docker镜像

如果出错,想重新构建镜像,可以先删除docker镜像,再重新构建!

1、

docker ps -a

linux下jdk的安装和docker打包运行镜像

2、

docker rm CONTAINER ID

3、

docker images

linux下jdk的安装和docker打包运行镜像![image-2022031515

4、

docker rmi IMAGE ID

5、分享镜像

分享镜像给其他新的服务器

5.1、登录docker.hub仓库

docker login

5.2、重命名

给原来的镜像起一个新的名(一定得加前缀)

docker tag 名字 前缀/名字
docker tag java-demo:v1.0 xb1314d/java-demo:v1.0

#注意: 前缀一定得是自己得账号名,否则推送会失败

5.3、推送镜像到docker.hub仓库

docker push xb1314d/java-demo:v1.0

linux下jdk的安装和docker打包运行镜像

登录docker.hub仓库查看

https://registry.hub.docker.com/

https://hub.docker.com/repositories

linux下jdk的安装和docker打包运行镜像

镜像推送成功 !

5.6、下载镜像

这个时候就可以从其他服务器下载这个镜像了

登录docker.hub仓库

docker login

下载镜像文章来源地址https://www.toymoban.com/news/detail-401033.html

docker pull xb1314d/java-demo:v1.0

到了这里,关于linux下jdk的安装和docker打包运行镜像的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 部署运行jar包方法全解docker镜像打包部署等

    有一种叫做“nohup”的命令,该命令可以让您的应用程序在后台运行,即使您已经断开了与终端的连接也能保持运行状态。 nohup 命令的语法为:  其中,command 是要运行的应用程序的命令,arg1、arg2…argN 则是该命令的参数。 符号表示在后台运行该命令。当运行 nohup 命令时,

    2024年02月10日
    浏览(47)
  • 将本地Python项目打包成docker镜像,上传到服务器,在docker中运行

    windows11 Docker下载地址:https://docs.docker.com/desktop/install/windows-install/ 虚拟环境可以搭建独立的Python运行环境,使得单个项目的运行环境与其他项目互不影响。 安装完成之后,便可以直接创建虚拟环境了,使用命令 virtualenv env1 进行创建 其中 activate.bat 文件,表示激活虚拟环境。

    2024年02月11日
    浏览(42)
  • Docker环境下将已运行的容器打包成新的镜像并运行在另一个服务器上的Docker容器中

    1.1、使用root账户登录进入Linux系统中,键入 docker ps 命令。 2.1、正在运行的容器一行中CONTAINER ID一列下面的字符串就是容器id,复制想要打包的容器ID并执行 docker commit 容器id 容器新名称 例如: docker commit e973c1d6731e mysql/newmysql 3.1、在根目录下键入 docker save -o 新镜像名称.tar 新

    2024年02月16日
    浏览(37)
  • k8s除了可以直接运行docker镜像之外,还可以运行什么? springboot项目打包成的压缩包可以直接运行在docker容器中吗?

    Kubernetes(k8s)主要设计用于自动部署、扩展和管理容器化应用程序。虽然它与Docker容器最为密切相关,Kubernetes实际上是与容器运行时技术无关的,这意味着它不仅仅能够管理Docker容器。Kubernetes支持多种容器运行时,包括但不限于: Docker :最为人熟知的容器平台,Kubernetes最

    2024年02月21日
    浏览(37)
  • docker-将自己的Linux打包为镜像

    3.1 自定义启动shell start.sh 3.2 dockerfile 3.3 编译新镜像

    2024年02月09日
    浏览(28)
  • Skywalking(8.7)安装以及docker镜像打包

    Skywalking版本:apache-skywalking-apm-es7-8.7.0 ES版本:7.17.2 下载地址:Index of /dist/skywalking/8.7.0 (apache.org) 上传到服务器安装目录并解压 在配置文件中找到图片所在的位置 此处修改的地方为 SW_STORAGE:elasticsearch7 , elasticsearch7 是该文档中的一个es数据存储的配置项。 然后修改es存储的

    2024年02月03日
    浏览(34)
  • Docker环境离线安装教程,附docker容器镜像打包,导出,导入加载镜像等

    (此方式在某些环境下可能不支持,如果不支持 请参考方式2) 下载文件:https://dn-dao-get.daocloud.io/docker/docker-1.13.0-centos-7.2.1511.tar.gz 上传,解压文件, 进入目录 执行 :bash install.sh 启动docker服务:service docker restart 下载地址:https://download.docker.com/linux/static/stable/x86_64/ 验证:

    2024年02月15日
    浏览(48)
  • 【Docker】Windows中打包dockerfile镜像导入到Linux

    大家好 我是寸铁👊 总结了一篇【Docker】Windows中打包dockerfile镜像导入到Linux✨ 喜欢的小伙伴可以点点关注 💝 今天遇到一个新需求,如何将 Windows 中打包好的 dockerfile 镜像给迁移到 Linux 中呢? 首先,先使用 dockerflie 打包好本地镜像,不会的伙伴可以看 上次的文章 。 现在你

    2024年04月12日
    浏览(26)
  • Linux +Docker镜像打包导出,上传至内网服务器

      sudo:以管理员权限运行命令,通常用于在 Linux 系统中运行需要管理员权限的命令。 docker:Docker 命令行工具。 commit:提交 Docker 镜像的命令。 -a:指定镜像的作者,这里是作者的名字: yjw。 e007d8b7e1b7:docker的容器id。 my_projectv2:v2:要新创建的镜像的名称和版本号,这里是

    2024年02月02日
    浏览(43)
  • Docker 安装软件、并运行(jdk、mysql、redis)

    Docker是一个强大的容器化平台,可以简化应用程序的部署和管理。本文将介绍如何在服务器使用Docker快速安装Java常用工具。 目录 一、安装jdk 二、安装mysql 三、安装redis 步骤一:搜索JDK镜像 Docker提供了一个中央镜像仓库,你可以从中搜索和获取各种JDK镜像。在命令行中运行

    2024年02月05日
    浏览(32)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包