热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

使用docker部署java项目运行环境的实现步骤

本文主要介绍了使用docker部署java项目运行环境的实现步骤,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

一、环境准备

1. CentOS-7-x86_64-DVD-2003.iso
2. docker-ce-18.03.1.ce-1.el7.centos.x86_64.rpm
3. emqx-4.2.6.tar
4. influxdb-1.7-alpine.tar
5. mysql-5.7.tar
6. reids-6-alpine.tar
7. xshell (连接centos7)
8. xftp (上传文件)

二、配置网络

1.切换目录

[root@localhost app]# cd /etc/sysconfig/network-scripts/
[root@localhost network-scripts]# ls
ifcfg-enp0s3

2.修改网络配置文件配置静态ip

修改项:

BOOTPROTO="static"

新增项:

IPADDR=192.168.1.153
NETWORK=255.255.255.0
GATEWAY=192.168.1.1
HWADDR=08:00:27:3B:CE:45
DNS1=114.114.114.114
DNS2=192.168.1.1

配置文件示例:

TYPE="Ethernet"
PROXY_METHOD="yes"
BROWSER_OnLY="no"
BOOTPROTO="static"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCOnF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="enp0s3"
UUID="d8a2c147-efe7-4913-a3aa-f63ffb62335e"
DEVICE="enp0s3"
OnBOOT="yes"
IPADDR=192.168.1.153
NETWORK=255.255.255.0
GATEWAY=192.168.1.1
HWADDR=08:00:27:3B:CE:45
DNS1=114.114.114.114
DNS2=192.168.1.1

3.重启网卡

service network restart

4.验证网络是否通畅

ping www.baidu.com

三、开放端口

​ 开端口命令:

firewall-cmd --zOne=public --add-port=80/tcp --add-port=3306/tcp --add-port=6379/tcp --add-port=8081/tcp --add-port=1883/tcp --add-port=8083/tcp --add-port=8883/tcp --add-port=8084/tcp --add-port=18083/tcp --add-port=8086/tcp --permanent

​ 重启防火墙:

systemctl restart firewalld.service

​ 查看开启的所有端口:

firewall-cmd --list-ports

命令含义:

  • ​ --zone #作用域
  • ​ --add-port=80/tcp #添加端口,格式为:端口/通讯协议
  • ​ --permanent #永久生效,没有此参数重启后失效

四、安装jdk

​ 1.解压jdk安装包

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

​ 2.查看jdk路径

[root@localhost tool]# cd jdk1.8.0_261/
[root@localhost jdk1.8.0_261]# pwd
/opt/tool/jdk1.8.0_261

​ 3.配置环境变量

[root@localhost jdk1.8.0_261]# vi /etc/profile

在profile文件末尾加上以下配置(按键 i 进入编辑模式,:wq 保存并退出)

#java
export JAVA_HOME=/opt/tool/jdk1.8.0_261
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib

​ 4.使配置生效并验证

[root@localhost jdk1.8.0_261]# source /etc/profile
[root@localhost jdk1.8.0_261]# java -version
java version "1.8.0_261"
Java(TM) SE Runtime Environment (build 1.8.0_261-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.261-b12, mixed mode)

五、安装docker

​ 1.yum 安装docker

yum install -y docker-ce-18.03.0.ce-1.el7.centos.x86_64.rpm

​ 2.启动docker,设置开机启动并验证

[root@localhost tool]# systemctl start docker.service
[root@localhost tool]# systemctl enable docker.service
Created symlink from /etc/systemd/system/multi-user.target.wants/docker.service to /usr/lib/systemd/system/docker.service.
[root@localhost tool]# docker version
Client:
 Version:    18.03.0-ce
 API version:    1.37
 Go version:    go1.9.4
 Git commit:    0520e24
 Built:    Wed Mar 21 23:09:15 2018
 OS/Arch:    linux/amd64
 Experimental:    false
 Orchestrator:    swarm

Server:
 Engine:
  Version:    18.03.0-ce
  API version:    1.37 (minimum version 1.12)
  Go version:    go1.9.4
  Git commit:    0520e24
  Built:    Wed Mar 21 23:13:03 2018
  OS/Arch:    linux/amd64
  Experimental:    false

​ 3.设置镜像加速器

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://p9gdavtl.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

六、运行环境搭建

导出镜像

[root]# docker save > mysql-5.7.tar mysql:5.7

​ 1.导入镜像

[root@localhost tool]# docker load 

2.启动镜像

​ 2.1 启动mysql

[root@localhost tool]# sudo docker run --restart=always -p 3306:3306 --name mysql -v /opt/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7 --lower_case_table_names=1

​ 2.2 启动redis

[root@localhost tool]# docker run --restart=always -p 6379:6379 --name redis -v /opt/redis/data:/data -d redis:6-alpine redis-server --requirepass "123456" --appendonly yes

​ 2.3 启动emqx

[root@localhost tool]# docker run --restart=always -d --name emqx -p 8081:8081 -p 1883:1883 -p 8083:8083 -p 8883:8883 -p 8084:8084 -p 18083:18083 emqx/emqx:4.2.6

2.4 启动influxdb (不需要安装)

[root@localhost tool]# docker run --restart=always -d -p 9083:8083 -p 8086:8086 --name influxdb influxdb:1.7-alpine

​ 2.4.1 进入容器,创建用户

[root@localhost tool]# docker exec -it cf bash

2.4.2

bash-5.0# influx

​ 2.4.3 创建用户名密码

create user "root" with password '123456' with all privileges

​ 2.4.4 用户名密码登陆

bash-5.0# influx -username 'root' -password '123456'

五.启动java项目

nohup java -jar demo.jar >catalina.out 2>&1 &

到此这篇关于使用docker部署java项目运行环境的实现步骤的文章就介绍到这了,更多相关使用docker部署java项目运行环境的实现步骤内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!


推荐阅读
  • UC浏览器无法加载网页的解决方案:详细指南与专业建议
    许多用户在使用UC浏览器时遇到无法加载网页的问题。本文将提供详细的解决方案和专业建议,帮助您快速排除故障。首先,需要确认UC浏览器的版本是否为最新,同时检查网络连接是否正常。如果问题依旧存在,可以尝试清除缓存、重置浏览器设置或重新安装UC浏览器。此外,禁用可能干扰浏览器的第三方安全软件也是一个有效的解决办法。希望这些方法能有效解决您的问题。 ... [详细]
  • centos 7.0 lnmp成功安装过程(很乱)
    下载nginx[rootlocalhostsrc]#wgethttp:nginx.orgdownloadnginx-1.7.9.tar.gz--2015-01-2412:55:2 ... [详细]
  • Linux入门教程第七课:基础命令与操作详解
    在本课程中,我们将深入探讨 Linux 系统中的基础命令与操作,重点讲解网络配置的相关知识。首先,我们会介绍 IP 地址的概念及其在网络协议中的作用,特别是 IPv4(Internet Protocol Version 4)的具体应用和配置方法。通过实际操作和示例,帮助初学者更好地理解和掌握这些基本技能。 ... [详细]
  • MySQL Server 8.0.28 升级至 8.0.30 的详细步骤
    为了修复安全漏洞,本文档提供了从 MySQL Server 8.0.28 升级到 8.0.30 的详细步骤,包括备份数据库、停止和删除旧服务、安装新版本以及配置相关环境变量。 ... [详细]
  • 本文介绍了如何解决无线网络连接受限的问题,包括手动重置网络连接、使用命令提示符刷新网络配置等方法。 ... [详细]
  • 本文详细介绍了如何在 Linux 系统上安装 JDK 1.8、MySQL 和 Redis,并提供了相应的环境配置和验证步骤。 ... [详细]
  • 本文介绍了如何利用HTTP隧道技术在受限网络环境中绕过IDS和防火墙等安全设备,实现RDP端口的暴力破解攻击。文章详细描述了部署过程、攻击实施及流量分析,旨在提升网络安全意识。 ... [详细]
  • 在CentOS 7环境中安装配置Redis及使用Redis Desktop Manager连接时的注意事项与技巧
    在 CentOS 7 环境中安装和配置 Redis 时,需要注意一些关键步骤和最佳实践。本文详细介绍了从安装 Redis 到配置其基本参数的全过程,并提供了使用 Redis Desktop Manager 连接 Redis 服务器的技巧和注意事项。此外,还探讨了如何优化性能和确保数据安全,帮助用户在生产环境中高效地管理和使用 Redis。 ... [详细]
  • Unity与MySQL连接过程中出现的新挑战及解决方案探析 ... [详细]
  • 如何在PHP中准确获取服务器IP地址?
    如何在PHP中准确获取服务器IP地址? ... [详细]
  • SecureCRT是一款功能强大的终端仿真软件,支持SSH1和SSH2协议,适用于在Windows环境下高效连接和管理Linux服务器。该工具不仅提供了稳定的连接性能,还具备丰富的配置选项,能够满足不同用户的需求。通过SecureCRT,用户可以轻松实现对远程Linux系统的安全访问和操作。 ... [详细]
  • 在Linux系统中,网络配置是至关重要的任务之一。本文详细解析了Firewalld和Netfilter机制,并探讨了iptables的应用。通过使用`ip addr show`命令来查看网卡IP地址(需要安装`iproute`包),当网卡未分配IP地址或处于关闭状态时,可以通过`ip link set`命令进行配置和激活。此外,文章还介绍了如何利用Firewalld和iptables实现网络流量控制和安全策略管理,为系统管理员提供了实用的操作指南。 ... [详细]
  • 在 CentOS 6.5 系统上部署 VNC 服务器的详细步骤与配置指南
    在 CentOS 6.5 系统上部署 VNC 服务器时,首先需要确认 VNC 服务是否已安装。通常情况下,VNC 服务默认未安装。可以通过运行特定的查询命令来检查其安装状态。如果查询结果为空,则表明 VNC 服务尚未安装,需进行手动安装。此外,建议在安装前确保系统的软件包管理器已更新至最新版本,以避免兼容性问题。 ... [详细]
  • 在使用 SQL Server 时,连接故障是用户最常见的问题之一。通常,连接 SQL Server 的方法有两种:一种是通过 SQL Server 自带的客户端工具,例如 SQL Server Management Studio;另一种是通过第三方应用程序或开发工具进行连接。本文将详细分析导致连接故障的常见原因,并提供相应的解决策略,帮助用户有效排除连接问题。 ... [详细]
  • 华为AP3010DNAGN从胖AP转换为瘦AP的过程及版本升级详细记录
    华为AP3010DNAGN从胖AP模式转换为瘦AP模式的过程及其版本升级的详细记录如下:首先,需要了解胖AP与瘦AP的区别。瘦AP(FIT)模式下,设备无法独立运行Wi-Fi功能,必须与AC控制器配合使用,适用于企业多AP的集中管理场景。本文将详细介绍转换步骤和版本升级的具体操作,帮助用户顺利完成配置。 ... [详细]
author-avatar
single
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有