1.打包

将项目打jar包并传到服务器的一个文件夹中,我的是/opt/docker,注意项目中的mysql配置的IP是服务器公网的ip地址

#数据源设置
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.url=jdbc:mysql://121.199.74.249:1008/blog?useUnicode=true&characterEncoding=utf8&serverTimezone=UTC
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver server.port=8888

2.在同一文件夹中编写Dockerfile

touch Dockerfile
# 基础镜像使用java
FROM java:8
EXPOSE 8888
# 作者
MAINTAINER tyy<1057286890@qq.com>
# VOLUME 指定了临时文件目录为/tmp。
# 其效果是在主机 /var/lib/docker 目录下创建了一个临时文件,并链接到容器的/tmp
#在容器中创建挂载点,可以多个
VOLUME /tmp
# 就是配置文件中的日志文件夹
VOLUME /logfile
# 将jar包添加到容器
ADD tyyblog.jar blog.jar
# 运行jar包
RUN sh -c 'touch /blog.jar '
ENTRYPOINT ["sh","-c","java -jar /blog.jar "]

3.build镜像

docker build -t blog .

现在就有名字为blog的镜像

4.需要在仓库拉一个mysql的镜像

docker pull mysql:8.0

5.先创建启动mysql的容器

docker run -p 3306:3306 --name mysql1 -v /opt/mysqldata/conf:/etc/mysql/conf.d -v /opt/docker/mysqldata/logs:/logs -v /var/lib/mysql:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=*** -d -it mysql:8.0

修改端口号

命令说明
mysql-test: 容器名
/etc/mysql/my.cnf:容器中 my.cnf路径
/root:my.cnf在宿主机保存路径 docker cp mysql-test:/etc/mysql/my.cnf /opt/mysql
粘回去
docker cp /opt/mysql/my.cnf mysql:/etc/mysql/ docker exec -it mysql /bin/bash

意思为

#--restart=always    当docker重启时,容器也重启
# 容器终止运行后自动删除容器文件
# --rm
# 主机端口映射到容器端口
#-p 3306:3306
# 给容器起别名(非常重要,项目中的数据库地址需要和别名一致)
#--name mysql1
# 把主机的配置文件映射到容器的配置文件
#-v /opt/docker/mysqldata/conf:/etc/mysql/conf.d
# 把主机的日志映射到容器的日志
#-v /opt/docker/mysqldata/logs:/logs
# 把主机的数据映射到容器(每次重启容器不用担心数据被清空了)
#-v /var/lib/mysql:/var/lib/mysql
# 数据库密码
#-e MYSQL_ROOT_PASSWORD=root
# 后台启动

6.创建blog的镜像

docker run -itd --name blog1 -p 8888:8888 --link mysql1:blog blog

意思是

# 容器终止运行后自动删除容器文件
#--rm
# 后台启动
#-itd
# 主机端口映射到容器端口
#-p 8888:8888
# 为容器起别名
#--name blog1
# 连接提供mysql服务的容器,冒号后面是别名,别名应该和代码中的数据库地址一致(这点真的很重要)
#--link mysql1:blog
# 由哪个镜像生成的
#blog

7.就可以访问了

http://121.199.74.249:8888/

Docker部署spring boot项目的更多相关文章

  1. 使用Docker部署Spring boot项目

    Docker是一个使用广泛的Linux容器管理工具包,它允许用户创建镜像,并将其容器实例化.通过本指南,我们可以学习到如何使用Docker部署Spring Boot项目. 先决条件 开发之前,你必须具 ...

  2. Windows Docker 部署 Spring Boot 项目

    目录 Docker Configuration Config IDEA Plugin Create Spring Boot Project Containerize It Use Dockerfile ...

  3. 使用 Docker 部署 Spring Boot 项目

    Docker 介绍 Docker 属于 Linux 容器的一种封装,提供简单易用的容器使用接口.它是目前最流行的 Linux 容器解决方案. Docker 将应用程序与该程序的依赖,打包在一个文件里面 ...

  4. 使用 Docker 部署 Spring Boot 项目,带劲!!

    上一篇:年轻人的第一个 Docker 应用 Docker 一次构建.处处运行及快速启停的特性,在微服务架构中有着举足轻重的地位,具体的概念性的东西就不介绍了,不懂的点击这里阅读 Docker 基础教程 ...

  5. IDEA连接远程服务器Docker部署Spring Boot项目

    开始前的准备工作 拥有一台云服务器,我的是腾讯云服务器(CentOS7) 腾讯云服务器安装Docker,我的版本是Docker 19.03.9,关于安装和配置镜像加速器可以查阅我的另一篇博文:http ...

  6. 【docker】docker部署spring boot项目在服务器上

    IDE:idea 工具:docker spring boot:2.0.1 ======================================== 简单记录一下流程,以供参考: 第一步:首先得 ...

  7. docker部署spring boot项目在服务器上

    IDE:idea 工具:docker spring boot:2.0.1 ======================================== 简单记录一下流程,以供参考: 第一步:首先得 ...

  8. Docker 部署Spring Boot 项目并连接mysql、redis容器(记录过程)

    Spring Boot 项目配置 将写好的Spring Boot 项目通过maven 进行package打包获得可执行Jar 再src/main/docker(放哪都行)下编写创建Dockerfile ...

  9. docker 部署spring.boot项目【一】(引用外部配置文件)

    上一篇随笔,nginx是启动运行在容器内,spring.boot的web项目是运行在宿主内,这一篇的目的,是把web项目也制作成镜像,然后在容器里启动. 文件目录结构如下: 主要文件结构说明:(1)b ...

  10. 如何用Docker部署Spring Boot项目

    1.idea中安装docker插件: 2.新建DockerFile,内容如下. # 基础镜像使用java FROM java:8 # 作者 MAINTAINER vic <test@163.co ...

随机推荐

  1. 2020年sublime text3可用的注册码

    2020年sublime text3可用的注册码 最近终于找到可以用的sublime text3注册码了,仅供各位同学交流学习使用.用完请删除,购买正版! ----- BEGIN LICENSE -- ...

  2. 2017年暑假ACM集训日志

    20170710: hdu1074,hdu1087,hdu1114,hdu1159,hdu1160,hdu1171,hdu1176,hdu1010,hdu1203 20170711: hdu1231, ...

  3. python3异步爬虫 ——aiohttp模板使用

    一.简单使用和讲解 import aiohttp import asyncio async def fetch(client): async with client.get('http://httpb ...

  4. MFiX-DEM中的串行碰撞搜索

    在计算颗粒碰撞的时候,需要进行neighbor颗粒的搜寻,只知道大概是基于网格与颗粒绑定的方式,但是具体的实现方式还是比较模糊.搜寻部分代码如下 (mfix-19.2.2): 可以直接观察到的是,这里 ...

  5. react-native中textInput在androidTV上的焦点处理(坑篇)

    react-native中,开发androidTV输入框的焦点处理. 复述流程: 安卓TV上,无法通过上下左右键,以及遥控器的上下左右来获取输入框焦点. 原因: 脸书的锅,但没修,这里官方的说法,Te ...

  6. Go的第一个Hello程序 简简单单 - 快快乐乐

    Go的第一个Hello程序 简简单单 - 快快乐乐 JERRY_Z. ~ 2020 / 10 / 29 转载请注明出处!️ 目录 Go的第一个Hello程序 简简单单 - 快快乐乐 一.Go程序开发基 ...

  7. 【Spring Cloud + Vue 有来商城】研发小组开发规范全方位梳理

    项目演示 后端 Spring Cloud实战 | 第一篇:Windows搭建Nacos服务 Spring Cloud实战 | 第二篇:Spring Cloud整合Nacos实现注册中心 Spring ...

  8. 4g数据无线传输终端dtu

    将串口数据转换为IP数据或将IP数据转换为串口数据并且进行传输的过程被称为数据透明传输,利用4G网络进行数据透明传输的设备被称为4G网络无线数据双向透明传输终端,也可以称为4G DTU,现在市面上大多 ...

  9. Java学习的第十天

    1.类方法 实例方法 自定义方法 2.今天使用visio不太会使用,方法覆盖不懂. 3.明天将方法剩余部分学完

  10. Learn day8 re正则表达式\search函数\反射\tcp发送消息(循环)\udp发送消息

    1.匹配单个字符 # ### 正则表达式 - 单个字符匹配 import re ''' findall 把匹配的结果直接返回到列表中 lst = re.findall("正则表达式" ...