docker下部署spring boot
第 5 章 Docker + Spring Boot: 快速搭建和部署Java Web应用
0、你需要:
- JDK 1.8 : java -version
- Maven 3.0+ : mvn -v
- Git : git --version
- Source Code : https://github.com/bingoHuang/spring-boot-docker
- Docker : docker version
- docker-machine ls
- docker-machine start
- docker-machine env
- eval $(docker-machine env)
1、Maven编译工程
下载源码到本地,进入工程目录,执行maven编译
git clone https://github.com/bingoHuang/spring-boot-docker.git
cd spring-boot-docker
tree
项目结构:
├── README.md
├── pom.xml
└── src
├── main
│ ├── docker
│ │ ├── Dockerfile
│ │ └── gs-spring-boot-docker-0.1.0.jar
│ ├── java
│ │ └── hello
│ │ └── Application.java
│ └── resources
│ └── application.yml
└── test
└── java
└── hello
└── HelloWorldConfigurationTests.java
mvn package
2、测试Jar包执行
执行生成的jar包,运行spring boot应用
java -jar target/gs-spring-boot-docker-0.1.0.jar
3、验证本地运行是否可以访问成功
- 命令行下访问:curl http://127.0.0.1:8080/
- 浏览器中访问:http://127.0.0.1:8080/
4、编写Dockerfile文件
进入到源码的docker目录下,
mkdir spring-boot-docker
cd spring-boot-docker
拷贝编译好的gs-spring-boot-docker-0.1.0.jar到当前目录,和Dockerfile放在同一目录
编写Dockerfile文件
# 编写Dockerfile文件
FROM hub.c.163.com/xbingo/jdk8:latest
ADD gs-spring-boot-docker-0.1.0.jar app.jar
CMD ["java","-jar","/app.jar"]
5、构建Dockerfile
docker build -t cloudcomb/springbootdocker:1.0 .
6、查看构建的镜像
docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
cloudcomb/springbootdocker 1.0 c5a57ce057e7 About a minute ago 180.8 MB
7、运行docker容器
docker run -p 8081:8080 -t cloudcomb/springbootdocker:1.0
docker ps
8、验证Docker容器运行是否可以访问成功
- 新建一个命令行tag:command+T
- 命令行下访问:curl http://192.168.99.100:8081
- 浏览器中访问:http://192.168.99.100:8081
docker下部署spring boot的更多相关文章
- 在Docker中部署Spring Boot项目
想要获取更多文章可以访问我的博客 - 代码无止境. 微服务现在在互联网公司可谓非常流行了,之前找工作的的时候很多HR电话约面试的时候都会问对微服务是否有过接触.而微服务和Docker可以非常完美的结合 ...
- IDEA连接远程服务器Docker部署Spring Boot项目
开始前的准备工作 拥有一台云服务器,我的是腾讯云服务器(CentOS7) 腾讯云服务器安装Docker,我的版本是Docker 19.03.9,关于安装和配置镜像加速器可以查阅我的另一篇博文:http ...
- Spring Boot 2.0(四):使用 Docker 部署 Spring Boot
Docker 技术发展为微服务落地提供了更加便利的环境,使用 Docker 部署 Spring Boot 其实非常简单,这篇文章我们就来简单学习下. 首先构建一个简单的 Spring Boot 项目, ...
- 使用Docker部署Spring boot项目
Docker是一个使用广泛的Linux容器管理工具包,它允许用户创建镜像,并将其容器实例化.通过本指南,我们可以学习到如何使用Docker部署Spring Boot项目. 先决条件 开发之前,你必须具 ...
- Spring Boot2.0:使用Docker部署Spring Boot
一.Spring Boot项目添加 Docker 支持1.在pom.xml中添加 Docker 构建插件 <plugins> <!-- Docker maven plugin --& ...
- (转)Spring Boot 2 (四):使用 Docker 部署 Spring Boot
http://www.ityouknow.com/springboot/2018/03/19/spring-boot-docker.html Docker 技术发展为微服务落地提供了更加便利的环境,使 ...
- 【docker】docker部署spring boot服务,但是docker logs查看容器输出控制台日志,没有日志打印,日志未打印,docker logs不打印容器日志
如题: docker部署spring boot服务,但是docker logs查看容器输出控制台日志,没有日志打印,日志未打印,docker logs不打印容器日志 场景再现: docker部署并启动 ...
- Spring Boot 2 (六):使用 Docker 部署 Spring Boot 开源软件云收藏
Spring Boot 2 (六):使用 Docker 部署 Spring Boot 开源软件云收藏 云收藏项目已经开源3年多了,作为当初刚开始学习 Spring Boot 的练手项目,使用了很多当时 ...
- Spring Boot 2 (四):使用 Docker 部署 Spring Boot
Spring Boot 2 (四):使用 Docker 部署 Spring Boot Docker 技术发展为微服务落地提供了更加便利的环境,使用 Docker 部署 Spring Boot 其实非常 ...
随机推荐
- [CF877F]Ann and Books
题目大意: 有$n(n\le10^5)$个数$w_{1\sim n}(|w_i|\le10^9)$,并给定一个数$k(|k|\le10^9)$.$q(q\le10^5)$次询问,每次询问区间$[l,r ...
- 64945e3dtw1dii6vfdr19j.jpg(PNG 图像,1497x929 像素)
64945e3dtw1dii6vfdr19j.jpg(PNG 图像,1497x929 像素)
- 关于DNS,你应该知道这些
在互联网时代中,如果要问哪个应用层协议最重要的话,我想答案无疑是DNS.虽然我们每天都享受着DNS服务带来的便利, 却对它往往知之甚少.因此本文就来介绍一下DNS协议的工作流程,真正认识一下这个支撑着 ...
- P2P通信标准协议(四)之SIP
在前面几篇文章中我们介绍了建立p2p通信的一般协议(簇),以及一种完整的NAT传输解决方案ICE, 但是对于多用户的通信情况,还有一些通用协议来实现标准化的管理,如之前讲过的SDP和SIP等,SIP( ...
- 消息队列系列(三):.Rabbitmq Trace的使用
一.什么是Trace Trace是Rabbitmq用于记录每一次发送的消息,方便使用Rabbitmq的开发者调试.排错.可通过插件形式 提供可视化界面 二.Trace实现概况 ...
- vertica数据库怎么查看连接数是否已经达到最大值
- JS 创建长度为100的数组,数值为角标
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- ubuntu16.04给普通用戸提成root权限,会出现造成重启系统,没有登录用户
一.导致问题的原因 直接修改配置文件提权,会造成重启系统后没有原来的登录用户 vim /etc/passwd nulige:x:0:0:nulige,,,:/home/gree:/bin/bash 解 ...
- 创建 git仓库
首先创建一个文件夹作为git仓库,创建一个test文件夹,并在文件夹下创建一个test.c的文件用以测试: git init git使用git init来初始化一个git仓库,git的很多命令都是在g ...
- B5:责任链模式 Chain Of Responsibility
使多个对象都有机会处理处理请求,从而避免请求的发送者和接受者之间的耦合关系.将这个对象连成一条链,并沿着该链处理请求,直到有一个对象能够处理它为止. 相当于switch/case,在客户端指定了每一链 ...