iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >docker如何部署java服务
  • 651
分享到

docker如何部署java服务

2023-07-05 12:07:30 651人浏览 独家记忆
摘要

本篇内容主要讲解“Docker如何部署java服务”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“docker如何部署java服务”吧!目的在Centos上安装mysql、jdk,之后完成java

本篇内容主要讲解“Docker如何部署java服务”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“docker如何部署java服务”吧!

    目的

    Centos上安装mysqljdk,之后完成java服务部署

    通过docker进行部署,熟悉docker命令

    打包发布到docker hub

    系统安装

    安装centos7系统,首先拉取镜像

    docker pull centos:centos7

    查看镜像是否下载成功

    docker images

    通过images命令可以看到镜像版本、id、创建时间、镜像大小等信息。

    docker如何部署java服务

    运行容器

    docker run -itd --name centos-test --privileged centos:centos7 init

    通过run命令启动成功后,会返回容器id。

    -itd 其实是 -i -t -d 三个参数组合在了一起,因为docker中单参数可以进行组合,所以这样写没有问题。

    –name 是指定启动后的容器的名称

    –privileged 这个命令可以让用户具有容器的root权限;能看到宿主机的一些设备,并可以执行mount操作;可以在docker容器中在启动docker
    centos:centos7 则是要启动的镜像信息,centos为镜像名称,centos7为镜像版本

    这里给出的部署命令参数较少,其他的参数还有 -p、-P、-r、-s等命令,本文中不做详细介绍,详情可参考 docker命令详解

    查看容器启动信息

    docker ps

    通过docker ps命令可以看到容器id、名称、创建时间等信息

    docker如何部署java服务

    通过exec进入容器

    docker exec -it centos-test /bin/bash

    软件安装

    安装服务部署所需的软件,本次通过docker部署服务,仅用到jdk、Mysql。本文仅对这两个软件进行安装和启动的说明。

    jdk安装

    查找系统中是否存在jdk

    yum list java-1.8*

    安装java1.8

    yum install java-1.8.0-openjdk* -y

    验证是否安装成功

    java -version

    使用上边的docker exec命令进入到容器中,只想java -verson查看jdk是否安装成功,安装成功显示如下。

    docker如何部署java服务

    此外通过yum install jdk的方式有一个好处,PATH路径会自动给配置好。如果没有配置的话,需要手动将JAVA_HOME、jar_HOME等信息在profile中配置。配置项如下:

    JAVA_HOME=/usr/lib/JVM/java-1.8.0-openjdk-1.8.0.342.b07-1.el7_9.x86_64JRE_HOME=$JAVA_HOME/jreCLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/libPATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/binexport JAVA_HOME JRE_HOME CLASS_PATH PATH

    启动JAVA_HOME中jdk的路径换成自己安装的路径即可。

    mysql安装

    本文中安装的mysql是 Server version: 5.7.39 MySQL,如果安装其他版本可能有所不同。

    先查询mysql的可安装版本

    yum search mysql

    查到的版本会有很多,mysql-commUnity-server.x86_64 安装这个版本就可以

    通过yum安装mysql

    yum install mysql-community-server.x86_64

    mysql安装的时候遇到一个报错 Check that the correct key URLs are configured for this repository
    这个是因为contos7中的 GPG repository配置有问题,不想耗费过多时间,使用了 --nogpGCheck 来进行异常忽略

    最终执行成功的mysql安装命令如下

    yum install mysql-community-server.x86_64 --nogpgcheck

    mysql启动,先使用了service的方式启动

    service mysqld start

    启动中出现异常1:
    service command not found
    service命令没找到。service的路径为 /sbin/service,先看 /sbin/service 这个文件有没有,如果没有进行安装
    执行service安装命令

    yum install initscripts
    安装之后如果还是报错,看下环境配置文件有没有sevice路径的配置
    centos环境变量配置在以下几个文件中
    /etc/profile
    ~/.bashrc
    ~/.bash_profile
    在配置文件中看看有没有 PATH的配置,如果没有加一下,缺哪个路径也加一下就可以
    PATH=$PATH:$HOME/bin:/sbin:/usr/bin:/usr/sbin

    再次启动中出现异常2:
    The service command supports only basic LSB actions (start, stop, restart, try-restart, reload, force-reload, status). For other actions, please try to use systemctl.
    这个原因是centos7之后CentOS开始使用systemd服务来代替daemon,service只保留极少部分命令,其他的由systemctl代替。

    最终执行的mysql启动命令如下

    systemctl start mysqld

    执行中出现 Failed to get D-Bus connection: Operation not permitted 异常,是因为docker中安装centos无法使用systemctl命令管理进程,所以启动docker的时候需要授权。所以在第一步docker启动的时候需要加 –privileged 参数。

    修改mysql密码

    查看mysql临时密码

    grep ‘temporary passWord' /var/log/mysqld.log

    通过临时密码进行登陆。登陆命令为

    mysql -uroot -p 回车后再输入临时密码

    进入mysql命令行后修改密码

    ALTER USER ‘userName'@‘localhost' IDENTIFIED BY ‘root123';

    修改的密码如果太简单,会出现如下异常
    ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
    出现密码太简单的异常时,先后执行下边的两步,再次设置密码就可以了。第一步修改policy参数,第二部修改密码长度。
    set global validate_password_policy=0;
    set global validate_password_length=1;

    java服务上传

    通过上边步骤,已在docker内完成java服务依赖软件的安装,这一步只需要在本地ide中打java包,然后将java包上传到docker服务器

    docker cp test.jar containerId:/path

    docker cp为文件上传到docker的命令。test.jar为本地jar包,containerId为容器id,/path是文件上传到docker之后的路径。
    在执行这个命令是,test.jar可以写绝对路径,如果是相对路径,需要进入到test.jar所在目录再执行.

    容器打包

    经过上边的操作后,容器已完成所有配置,这个时候我们可以把容器打包,发布到docker hub上。这样我们在其他服务器上部署的时候,就可以通过镜像来部署,会省事很多。镜像后续要传到docker hub中,所以打包名称要把docker hub的用户名包含进去。

    docker commit -m ‘打包测试' -a ‘sungy' centos-test dockerHubUserName/testCom:v1

    commit 命令就是将容器打包成镜像。 -m 打包信息 -a 作者信息 fblog-server 要打包的容器名称 testCom:v1 打包后名称及版本号。

    打包之后的镜像可以发布到 https://hub.docker.com/ 中,以后用到,直接docker pull就可以。
    要进行发布,在hub.docker.com注册好账号后,命令行中执行

    docker login

    输入账号密码,完成登陆后就可以push镜像 imageName是镜像名称,tag是打包时设置的版本。需要注意镜像要上传到自己的dockerhub中,所以打包的镜像需要包含docker hub的用户名。

    docker push dockerHubUserName/imageName[:TAG]

    注意

    容器中不要存数据!不要存数据!不要存数据!

    因为docker容器是基于镜像进行启动,只要镜像存在,容器可以随意增删,如果数据存在容器中,非常容易丢失。

    可以使用 -v、–mount 等命令,把数据存储到宿主机中。

    镜像在启动时,有其他的命令需要执行,可以使用docker file等。尽量使容器启动变简单。

    容器不要太大,太大了,部署、再打包都很慢。这次打包出来的镜像有1.5G,后边要想办法减少一些,500M以内应该是比较合理的。

    到此,相信大家对“docker如何部署java服务”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

    --结束END--

    本文标题: docker如何部署java服务

    本文链接: https://www.lsjlt.com/news/351591.html(转载时请注明来源链接)

    有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

    本篇文章演示代码以及资料文档资料下载

    下载Word文档到电脑,方便收藏和打印~

    下载Word文档
    猜你喜欢
    • docker如何部署java服务
      本篇内容主要讲解“docker如何部署java服务”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“docker如何部署java服务”吧!目的在centos上安装mysql、jdk,之后完成java...
      99+
      2023-07-05
    • docker部署java服务
      目的 在centos上安装mysql、jdk,之后完成java服务部署 2.通过docker进行部署,熟悉docker命令 3.打包发布到docker hub 系统安装 安装centos7系统,首先拉取镜像 docker pull ce...
      99+
      2023-08-21
      docker java 容器 mysql
    • ECS如何部署Docker服务
      今天小编给大家分享一下ECS如何部署Docker服务的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。1、前言京东2016年61...
      99+
      2023-07-02
    • docker如何部署confluence
      这篇文章给大家分享的是有关docker如何部署confluence的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。Confluence 是收费的,但是可以破解使用(提倡购买,支持正版)本文使用的镜像是基于他人(镜像...
      99+
      2023-06-15
    • Docker如何部署Scrapy
      这篇文章将为大家详细讲解有关Docker如何部署Scrapy,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。假设我们要在10台Ubuntu 部署爬虫如何搞之?用传统的方法会吐血的,除非你记录下来每个步骤,然...
      99+
      2023-06-07
    • Docker如何部署Mysql8
      本篇内容主要讲解“Docker如何部署Mysql8”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Docker如何部署Mysql8”吧!一、前置需求linux系统本人用的Centos7安装dock...
      99+
      2023-07-02
    • Docker如何部署Node.js
      本篇内容主要讲解“Docker如何部署Node.js”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Docker如何部署Node.js”吧!项目结构`-- docker-node&nbs...
      99+
      2023-06-17
    • Docker rocketmq如何部署
      这篇文章给大家分享的是有关Docker rocketmq如何部署的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。准备工作在搭建之前,我们需要做一些准备工作,这里我们需要使用 docker 搭建服务,所以需...
      99+
      2023-06-22
    • 基于Docker如何部署Dubbo+Nacos服务
      这篇“基于Docker如何部署Dubbo+Nacos服务”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“基于Docker如何部...
      99+
      2023-07-05
    • Docker部署Minio (服务器上部署Minio)
      Minio简介: MinIO 是一个基于Apache License v2.0开源协议的对象存储服务。它兼容亚马逊S3云存储服务接口,非常适合于存储大容量非结构化的数据,例如图片、视频、日志文件、备份数据和容器/虚拟机镜像等,而一个对象文件...
      99+
      2023-08-18
      docker 服务器 容器 java
    • Docker部署Java 项目
      1、 连接服务器,创建项目文件夹  1  根据服务器提供的公网IP地址,用 Xshell 连接上 在当前目录下,通过 # mkdir jty-nx,创建一个项目部署文件夹, jty-nx:是文件名   2、创建Dockerfil...
      99+
      2023-09-23
      docker java 容器
    • Docker中如何部署k8s
      这篇文章主要介绍Docker中如何部署k8s,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!拓扑结构1master + 2minionk8s-master 192.168.0.201 masterk8s-node1 1...
      99+
      2023-06-07
    • Docker下如何部署lnmp
      小编给大家分享一下Docker下如何部署lnmp,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!拉取一个centos镜像//下载centos镜像[root@loca...
      99+
      2023-06-21
    • Docker上如何部署FastApi
      这篇“Docker上如何部署FastApi”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Docker上如何部署FastApi...
      99+
      2023-07-05
    • Docker compose部署minio服务
      目录介绍单机版部署纠删码模式部署分布式部署介绍 最近才知道minio这个对象存储服务中间件,简直相见恨晚,只怪我见识太短浅(哭泣脸)。 说得通俗易懂点,minio的作用就是用来存储文...
      99+
      2022-11-13
      Docker compose部署minio服务 Docker compose
    • Docker上如何部署Nginx
      本篇内容主要讲解“Docker上如何部署Nginx”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Docker上如何部署Nginx”吧!1.从 docker 下载 Nginx 镜像docker&n...
      99+
      2023-06-30
    • docker部署nodejs微服务
      随着微服务架构的流行,越来越多的开发者开始选择使用Docker容器部署自己的应用程序。Docker有很多优点,例如强化了开发与运维的分离,缩短了应用程序部署的时间等等。本文将探讨如何用Docker容器来部署一个Node.js微服务应用程序。...
      99+
      2023-05-14
    • 云服务器docker部署
      云服务器Docker部署可以包括多个步骤,下面是其中的一些步骤: 购买和安装:首先,您应该选择一家可靠的云提供商或提供商来购买Docker。您需要确保所选择的云服务提供商提供了所需的Docker镜像、软件包等资源。 配置Docker:在...
      99+
      2023-10-27
      服务器 docker
    • 云服务器部署docker
      云服务器部署docker可以采用docker镜像或者容器化部署的方式,下面是两个常见的方法:使用Docker Machine Initializer来安装Docker镜像。Docker Machine Initializer是一个集成开发环...
      99+
      2023-10-26
      服务器 docker
    • 使用docker、docker-compose部署微服务
      使用docker、docker-compose部署微服务 一、使用docker部署1、准备2、上传jar包3、编写dockerfile文件3、构建镜像和容器 二、使用docker-compose部署1、准备服务的jar包和doc...
      99+
      2023-08-30
      docker 微服务 容器
    软考高级职称资格查询
    编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
    • 官方手机版

    • 微信公众号

    • 商务合作