制作spring-boot的docker镜像并部署

一、下载后端项目:https://github.com/macrozheng/mall

二、修改mall-admin项目的配置文件  

修改application-prod.yml的数据库username、password为自己服务器的

增加application-prod.yml配置的 server.port:9001

pom.xml增加plugin:

<plugin>    <groupId>com.spotify</groupId>    <artifactId>docker-maven-plugin</artifactId>    <version>1.1.0</version>    <executions>        <execution>            <id>build-image</id>            <phase>package</phase>            <goals>                <goal>build</goal>            </goals>        </execution>    </executions>    <configuration>        <imageName>mall/${project.artifactId}:${project.version}</imageName>        <dockerHost>http://ip:port</dockerHost>        <baseImage>java:8</baseImage>        <entryPoint>["java", "-jar", "-Dspring.profiles.active=prod","/${project.build.finalName}.jar"]        </entryPoint>        <resources>            <resource>                <targetPath>/</targetPath>                <directory>${project.build.directory}</directory>                <include>${project.build.finalName}.jar</include>            </resource>        </resources>    </configuration></plugin>

三、打包package。(因为我没开服务器的自动上传端口,因此暂时手动上传打包的文件),后续补充自动的

四、将target/docker/目录下的两个文件Dockerfile、mall-admin-1.0-SNAPSHOT.jar 拷贝到服务器/mydata/app/mall-admin/ 目录。

进入/mydata/app/mall-admin/目录,制作docker镜像:docker build -t mall-admin

执行完命令后通过命令可以查看到镜像已经制作成功:docker images

五、启动项目

docker run -p 9001:9001 --name mall-admin --link mysql:db -v /etc/localtime:/etc/localtime -v /mydata/app/admin/logs:/var/logs -d mall-admin

其中

-p 9001:9001  (-p 宿主机port:docker的mall-admin镜像实例port)为将宿主机的9001端口映射到docker容器内mall-admin的9001端口

-name mall-admin  为将该java实例在docker中的实例名称命名为mall-admin

--link mysql:db  为将docker的mysql实例指定为通过db连接

-v /etc/localtime:/etc/localtime  为同步docker的mall-admin镜像时间和宿主机时间同步

六、服务器防火墙开启9001端口

开启防火墙:systemctl start firewalld.service

开启端口:firewall-cmd --zone=public --add-port=9001/tcp --permanent

刷新防火墙:firewall-cmd --reload

附:

关闭防火墙:systemctl stop firewalld.service

关闭开机启动:systemctl disable firewalld.service

开启开机启动:systemctl enable firewalld.service

##centos6
存在以下两种方式:

一、service方式

查看防火墙状态: service iptables status

开启防火墙: service iptables start

关闭防火墙: service iptables stop

二、iptables方式

先进入init.d目录,命令如下: cd /etc/init.d/

查看防火墙状态:/etc/init.d/iptables status

暂时关闭防火墙:/etc/init.d/iptables stop

重启iptables:/etc/init.d/iptables restart

七:阿里云开启9001端口。

参考 https://www.cnblogs.com/kbian/p/11892348.html

基于vue+springboot+docker网站搭建【七】制作后端spring-boot的docker镜像部署的更多相关文章

  1. Spring Boot 创建 Docker 镜像

    随着越来越多的组织转向容器和虚拟服务器,Docker正成为软件开发工作流程中一个更重要的部分.为此,Spring Boot 2.3中最新的功能之中,提供了为Spring Boot应用程序创建 Dock ...

  2. 使用Spring Boot创建docker image

    目录 简介 传统做法和它的缺点 使用Buildpacks Layered Jars 自定义Layer 简介 在很久很久以前,我们是怎么创建Spring Boot的docker image呢?最最通用的 ...

  3. Spring Boot与Docker部署

    开启Docker远程访问 首先需要开启docker远程访问功能,以便可以进行远程操作. CentOS 6 修改/etc/default/docker文件,重启后生效(service docker re ...

  4. 玩转spring boot——结合docker

    前言 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 liunx机器上,也可以实现虚拟化.容器是完全使用沙箱机制,相互之间不会有 ...

  5. Spring Boot with Docker

    翻译自:https://spring.io/guides/gs/spring-boot-docker/ Spring Boot with Docker 这篇教程带你一步步构建一个Docker镜像用来运 ...

  6. spring boot——结合docker

    spring boot——结合docker 前言 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 liunx机器上,也可以实现虚 ...

  7. Spring Boot 和 Docker 实现微服务部署

    Spring boot 开发轻巧的微服务提供了便利,Docker 的发展又极大的方便了微服务的部署.这篇文章介绍一下如果借助 maven 来快速的生成微服务的镜像以及快速启动服务. 其实将 Sprin ...

  8. 集成spring boot + mysql + docker实战

    前言 网上找过很多文章,关于通过docker构建mysql容器并将应用容器和docker容器关联起来的文章不多.本文将给出具体的范例.此处为项目的源码 前置条件 该教程要求在宿主机上配置了: dock ...

  9. 基于vue+springboot+docker网站搭建【五】部署vue前端项目

    部署vue前端项目  一.下载项目到本地   https://github.com/macrozheng/mall-admin-web 二.npm install 三.修改api配置,改为你接下来要部 ...

  10. 基于vue+springboot+docker网站搭建【三】安装docker

    安装docker 我们整个工程都会基于docker来跑,因此首先安装docker.在安装所有软件之前,我们需要先下载一个下载工具. 1.下载工具安装  yum-utils yum install -y ...

随机推荐

  1. Python语言基础04-构造程序逻辑

    本文收录在Python从入门到精通系列文章系列 学完前面的几个章节后,博主觉得有必要在这里带大家做一些练习来巩固之前所学的知识,虽然迄今为止我们学习的内容只是Python的冰山一角,但是这些内容已经足 ...

  2. 201777010217-金云馨《面向对象程序设计Java》第八周学习总结

    项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 https://www.cnblogs.com/nwnu-daizh/p ...

  3. C++ 函数重载、函数模板,类模板

    1.函数重载 相同作用域下,有多个函数名相同,但形参列表不同的函数,常用于处理功能相同但数据类型不同的问题 函数重载的规则: 函数名必须相同 函数形参列表必须不同(可以是参数个数不同,或者数据类型不同 ...

  4. Spring data redis的使用

    Spring data redis的使用 一.Redis的安装和使用 Redis是用C语言开发的一个高性能键值对数据库,可用于数据缓存,主要用于处理大量数据的高访问负载. 下载地址:https://g ...

  5. 学习-angular 7入门

    1.安装脚手架:npm install -g @angular/cli 安装之后,输入命令 ng v: Package Version -------------------------------- ...

  6. ASP.NET开发实战——(一)开篇-用VS创建一个ASP.NET Web程序

        本文是本系列文章第一篇,主要通过建立一个默认ASP.NET MVC项目来引出与ASP.NET MVC相关的功能,由于ASP.NET MVC一个简单的模板就具备了数据库操作.身份验证.输入数据校 ...

  7. 练习题 vue_01:

    目录 练习题: vue_01 点击事件控制标签颜色: 点击次数控制标签的样式: 周期性实现标签的旋转变色: 每日一题: http协议,https与http的区别: 前端页面布局的方式 框架内orm的功 ...

  8. [LeetCode] 145. Binary Tree Postorder Traversal 二叉树的后序遍历

    Given a binary tree, return the postorder traversal of its nodes' values. For example: Given binary ...

  9. [转]VS2017避免全部安装至C盘

    VS2017避免全部安装至C盘 版权声明:商业用途请联系博主,非商业转载请标明出处. https://blog.csdn.net/qq_15807167/article/details/7247208 ...

  10. python3中用django下载文件,中文名乱码怎么办?

    前段时间被某个前端小可爱鄙视了一下,说我博客都一年不更新了,我不服,明明还有俩月才到一年呢.不过说是这么说,还是要更新一下的. 以上都是借口,下面开始正文.     我公司的某个内部系统,用djang ...