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

it2026-04-02  9

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 –name 后面跟容器名,随意-p 后面跟宿主机端口:容器里mysql用端口(一般3306),指将容器里mysql用的3306端口映射到宿主机端口,宿主机端口随意一个空闲端口就行MYSQL_ROOT_PASSWORD 后面跟mysql root的密码,自己设置

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

二、部署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

最新回复(0)