ubuntu利用docker部署jar包项目,包含mysql部署

4 篇文章 0 订阅
2 篇文章 0 订阅

ubuntu利用docker部署jar包项目,包含mysql部署

一、 部署mysql

​ 1.1. 拉取mysql镜像,这里用的网易的镜像( https://c.163yun.com/hub#/m/home/

sudo docker pull hub.c.163.com/library/mysql:latest

​ 1.2. 创建并运行mysql容器

sudo docker run -itd --name mysql -p 3305:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql

带启动参数,比如设置数据库大小写不敏感

sudo docker run -d -p 33060:3306 -e MYSQL_USER='koyanagi' -e MYSQL_PASSWORD='123456' -e MYSQL_ROOT_PASSWORD='123456' --name mysql_name mysql:5.7 --character-set-server=utf8 --collation-server=utf8_general_ci --lower_case_table_names=1

同步容器时间与宿主机时间

sudo docker cp -L /usr/share/zoneinfo/Asia/Shanghai  mysql_name:/etc/localtime
  • –name 后面跟容器名,随意
  • -p 后面跟宿主机端口:容器里mysql用端口(一般3306),指将容器里mysql用的3306端口映射到宿主机端口,宿主机端口随意一个空闲端口就行
  • MYSQL_ROOT_PASSWORD 后面跟mysql root的密码,自己设置

​ 1.3. 通过Navicat等工具连接数据库,连接地址为宿主机ip:上一步设置的宿主机端口,账号root,密码上一步为设置的密码。例如:


注: docker拉的mysql镜像一般不是完整版,可能会缺少部分常用shell命令

二、部署java项目

​ 2.1. 在java项目里设置mysql的访问链接为上一步的链接,即例子的 192.168.137.4:3305,账号root密码同上一步所设置

​ 2.2. 利用Maven的package工具打包项目为jar包,放在ubuntu下的任意文件夹

​ 2.3. 在同一文件夹下新建Dockerfile

sudo touch Dockerfile

​ 2.4. 编写Dockerfile

​ 例子:

FROM java:8
MAINTAINER liuzehong

RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
RUN echo "Asia/Shanghai" > /etc/timezone

ADD koyanagi_back-1.0.0.jar koyanagi_back.jar
EXPOSE 9000
ENTRYPOINT ["java","-jar","koyanagi_back.jar"]

​ 详细参数: https://blog.csdn.net/qq_29999343/article/details/78318397

​ 2.5. 制作镜像

sudo docker build -t koyanagi-back:1.0 .

​ 注:koyanagi-back为自己起的镜像名,1.0为版本号,最后的 . 表示在当前路径下制作镜像

​ 2.6. 利用镜像创建并运行容器

sudo docker run -p 9000:9000 -d --name koyanagi_back koyanagi-back:1.0

​ 这里的格式同上面的mysql容器
​ 如果项目中涉及访问宿主机文件资源(即上传并保存文件到服务器之类的,不应保存在容器里),可通过路径挂载的方式进行访问

sudo docker run -p 9000:9000 -d --name koyanagi_back -v /home/uploadPath/:/home/uploadPath koyanagi-back:1.0

​ 冒号前为宿主机路径,冒号后为容器内路径

​ 注:如果你的jar包里用的数据库链接为localhost,那么在run后面还需加一条–net=host,这样以后容器里的localhost就是宿主机里的localhost了,可以访问宿主机的mysql。详见:https://www.cnblogs.com/gispathfinder/p/5871043.html

​ 输入命令:

sudo docker ps

​ 查看容器是否运行成功。到浏览器里访问,例如例子就访问192.168.137.4:9000

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值