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 其实非常 ...
随机推荐
- 【2-SAT】【并查集】ICM Technex 2017 and Codeforces Round #400 (Div. 1 + Div. 2, combined) D. The Door Problem
再来回顾一下2-SAT,把每个点拆点为是和非两个点,如果a能一定推出非b,则a->非b,其他情况同理. 然后跑强连通分量分解,保证a和非a不在同一个分量里面. 这题由于你建完图发现都是双向边,所 ...
- Linux下使用xargs得到字符串作为参数进行输出、awk得到字符串作为参数进行输出
背景: cat test.txt 实例: 1.xargs cat test.txt | xargs -i echo {} cat test.txt | xargs -I {} echo {} 大小写i ...
- 我是如何给discuz模板做语法高亮的/vs code/textmate
本人一直做ASP.NET开发,近期接到任务要用Discuz开发一个社区,第一次接触PHP,PHP灵活的语法,天生的模块化,各种语法糖深深的震惊了我,我从内心深处感受到了PHP是最牛逼的语言!!! 好了 ...
- sql-server-linux 官网
https://docs.microsoft.com/en-us/sql/linux/sql-server-linux-overview
- Java 和 数据库两种方式进行加锁
java方式: publicstatic synchronized int generate(StringtableName){ Stringsql = "select value from ...
- javascript中常见的函数封装 :判断是否是手机,判断是否是微信,获取url地址?后面的具体参数值,毫秒格式化时间,手机端px、rem尺寸转换等
// 判断是否是手机function plat_is_mobile(){ var sUserAgent = navigator.userAgent.toLowerCase(); var bIsIpad ...
- windows 7系统搭建PHP网站环境
2.新建数据库打开浏览器,输入http://localhost:9999或者http://127.0.0.1:9999回车填写用户名root和密码回车登录点击权限-添加新用户填写用户名,主机选择本地, ...
- 在Linux中切换用户时变成-bash-4.3$
增加普通用户 [root@git-node1 ~]#useradd nulige [root@git-node1 ~]#passwd nulige 输入两次密码 [root@git-node1 ~]# ...
- 【自动部署】服务器自动化操作 RunDeck
RunDeck 是用 Java/Grails 写的开源工具,帮助用户在数据中心或者云环境中自动化各种操作和流程.通过命令行或者web界面,用户可以对任意数量的服务器进行操作,大大降低了对服务器自动化的 ...
- Java 多线程之 synchronized 和 volatile 的比較
概述 在做多线程并发处理时,常常须要对资源进行可见性訪问和相互排斥同步操作.有时候,我们可能从前辈那里得知我们须要对资源进行 volatile 或是 synchronized 关键字修饰处理.但是,我 ...