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. 本溪6397.7539(薇)xiaojie:本溪哪里有xiaomei

    本溪哪里有小姐服务大保健[微信:6397.7539倩儿小妹[本溪叫小姐服务√o服务微信:6397.7539倩儿小妹[本溪叫小姐服务][十微信:6397.7539倩儿小妹][本溪叫小姐包夜服务][十微信 ...

  2. 【编程学习】浅谈哈希表及用C语言构建哈希表!

    哈希表:通过key-value而直接进行访问的数据结构,不用经过关键值间的比较,从而省去了大量处理时间. 哈希函数:选择的最主要考虑因素--尽可能避免冲突的出现 构造哈希函数的原则是: ①函数本身便于 ...

  3. Lock、Synchronized锁区别解析

    上篇博文在讲解 ConcurrentHashMap 时说到 1.7 中 put 方法实现同步的方式是使用继承了 ReentrantLock 类的 segment 内部类调用 lock 方法实现的,而在 ...

  4. spring boot:用spring security加强druid的安全(druid 1.1.22 / spring boot 2.3.3)

    一,druid的安全保障有哪些环节要注意? 1,druid ui的访问要有ip地址限制 2,用户必须要有相应的权限才能访问druid 3,关闭重置功能 说明:stat-view-servlet.url ...

  5. beego增删改查

    package main import ( "fmt" "github.com/astaxie/beego/orm" _ "github.com/go ...

  6. 运行bee run之后出现的错误以及解决方法Failed to build the application:

      运行bee run之后出现的错误以及解决方法 创建一个beego项目 bee new myapp 在该项目执行下面的代码 bee run 出现的问题 2020/04/22 21:12:07 INF ...

  7. docker19.03限制容器使用的cpu资源

    一,用--cpus限制可用的cpu个数 例子: [root@localhost liuhongdi]# docker run -idt --name kafka1 --hostname kafka1 ...

  8. ansible用user/group模块管理受控机上的用户和组(ansible2.9.5)

    一,ansible的user/group模块的用途: ansible的user模块用来实现:生成用户.删除用户等用户的管理ansible的group模块用来实现:生成组.删除组等组的管理 说明:刘宏缔 ...

  9. Windows快捷键与Dos命令学习

    部分Windows常用快捷键 复制:Ctrl + C 粘贴:Ctrl + V 全选:Ctrl + A 剪切:Ctrl + X 撤销:Ctrl + Z 保存:Ctrl + S 关闭窗口:Alt + F4 ...

  10. MySQL 日志之 binlog 格式 → 关于 MySQL 默认隔离级别的探讨

    开心一刻 产品还没测试直接投入生产时,这尼玛... 背景问题 在讲 binlog 之前,我们先来回顾下主流关系型数据库的默认隔离级别,是默认隔离级别,不是事务有哪几种隔离级别,别会错题意了 1.Ora ...