制作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. windows经典主题 桌面颜色(R58 G110 U165)

  2. 002-Zabbix 前端配置

    Zabbix 前端配置 [基于此文章的环境]点我快速打开文章 [官方地址]点我快速打开文章 第 1 步 在浏览器中,打开 Zabbix URL:http:// <server_ip_or_nam ...

  3. MySQL添加CSV文件中的数据

    一.MySQL添加csv数据 此问题是前几天整理数据的时候碰到的,数据存在 CSV文件中(200多万记录),通过python 往数据库中导入太慢了,后来使用MySQL 中自带的命令 LOAD DATA ...

  4. 【Spark】

    spark-submit --class "org.apache.spark.examples.sql.JavaSparkSQLExample" --master local co ...

  5. spring cloud fegin传递request header

    本文链接:https://blog.csdn.net/zhongzunfa/article/details/82791903 1.概述 今天一个朋友, 遇到一个如何在使用spring cloud fe ...

  6. linux pkgsrc 学习(一) 安装pkgsrc

    使用pkgsrc.joyent.com 提供的linux 包 下载包 # # Copy and paste the lines below to install the 64-bit EL 7.x s ...

  7. Linux路由器及交换机工作原理

    IP包头中TTL字段的含义是什么?它用来做什么? TTL(time to live):该字段用于表示IP数据包的生命周期, 作用:限制一个数据在网络中无限循环的转发下去. 简述arp缓存表的建立过程: ...

  8. 【灵魂拷问】你为什么要来学习Node.js呢?

    [灵魂拷问]你为什么要来学习Node.js呢? 学习node.js适合的人群: 需要必备一些HTML,CSS,JavaScript及编程有一定程度了解的读者阅读,一些简单的命令行操作,具备服务端开发经 ...

  9. [LeetCode] 138. Copy List with Random Pointer 拷贝带有随机指针的链表

    A linked list is given such that each node contains an additional random pointer which could point t ...

  10. [LeetCode] 41. First Missing Positive 首个缺失的正数

    Given an unsorted integer array, find the smallest missing positive integer. Example 1: Input: [1,2, ...