ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

关于将java项目部署到docker容器中并让本机访问

2022-07-12 13:05:56  阅读:135  来源: 互联网

标签:ip java root 数据库 端口 mysql docker 本机


1.在服务器中安装docker并且拉mysql,java镜像。

2.开启mysql容器(设置Asia/shanhai  时间),登录其中,select now() 查询时间是否与当前时间相同,

3.给所以用户授予权限(或者单独ip 如:本机),配置用户远程连接权限grant all privileges on *.* to 'root'@'%' with grant option; flush privileges;

配置密码,并且更新加密方法

LTER USER 'root'@'%' IDENTIFIED BY 'root' PASSWORD EXPIRE NEVER; ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root';

可能需要先创建用户再授权用户。

4.本地sqlyog 连接(根据错误来授权,需要阿里云开端口),导入需要的sql文件,在到服务器上查看是否有数据库。

5.如果需要实现数据的持久化,删除容器后,再次开启数据依然存在。

6.将java打成jar包,上传到服务器中,在与同目录中创建Dockerfile文件,

 

7.build打成镜像,再run 端口映射,成容器。curl 看是否能访问成功。

8.其中可能会报数据库连接超时(安全组没有开数据中对应的端口),数据库密码错误(yum中配置数据库连接与授权的不一样),防火墙中端口是否暴露。

9.pc端和手机能成功访问(用公网)。

10.需要做的:需要去改变端口号,或者用代理来换ip防止被攻击,并且单纯的ip+端口,阿里云可能会关闭外界访问,这就需要域名与备案。mysql没有实现持久化并且redis没有部署进去。

11.本次实践主要注意数据库的授权与连接,端口的暴露,dockerfile文件的编写即可,并没有涉及到难点。

 

 

 

 

 

 

 

 

数据持久化可参考:(42条消息) Docker 部署 Mysql8.0_xsj34567的博客-CSDN博客_docker mysql8

 

标签:ip,java,root,数据库,端口,mysql,docker,本机
来源: https://www.cnblogs.com/145Mirro-r/p/16469643.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有