制作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 模块、包

    #-----模块.包----- 模块: 一个.py 文件就称之为模块模块好处:1.提高代码可读性 2.编写代码不需要从零开始 python 模块: 1.python标准库 2.第三方模块 3.应用程序 ...

  2. Linux---用户及权限管理类命令

    1.Linux用户 分为三类: 超级用户:拥有最高权限 系统用户:与系统服务相关,但不能用于登录 普通用户:由超级用户创建并赋予权限,只能操作其拥有权限的文件和目录,只能管理自己启动的进程 2.用户管 ...

  3. Leetcode练习

    1. 两数相加 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标. 你可以假设每种输入只会对应一个答案.但是,你不能重复利用这 ...

  4. zz【清华NLP】图神经网络GNN论文分门别类,16大应用200+篇论文最新推荐

    [清华NLP]图神经网络GNN论文分门别类,16大应用200+篇论文最新推荐 图神经网络研究成为当前深度学习领域的热点.最近,清华大学NLP课题组Jie Zhou, Ganqu Cui, Zhengy ...

  5. Nexus 私服上传文件,并通过 Gradle 引用

    一.上传文件到 Nexus 1,进入 Nexus 仓库界面 如果你电脑还没有使用 Nexus,需要先下载并启动 Nexus 私服. 在浏览器输入:http://127.0.0.1:8081/nexus ...

  6. nginx配置代理时参数说明

  7. C++ 10进制, 16进制, ASCII码, 单字节与多字节的相互转换

    这些简单的转换是用的比较频繁的, 因此将这些功能全部封装在一个类中 头文件 #pragma once #include <stdlib.h> #include <string> ...

  8. CentOS7 Zookeeper 安装

    集群部署 192.168.38.6  zk01192.168.38.7  zk02192.168.38.8  zk03 安装zookeeper,必须安装jdk. 1.下载 $ cd /usr/loca ...

  9. CUDA编程学习笔记1

    CUDA编程模型是一个异构模型,需要CPU和GPU协同工作. host和device host和device是两个重要的概念 host指代CPU及其内存 device指代GPU及其内存 __globa ...

  10. Tomcat基础操作

    1.在WebApps ROOT目录里,如果删除过ROOT从新创建,放置index.html,index.jsp即可访问. 2.修改默认8080端口,打开server.xml,将8080端口修改为80即 ...