docker php 一键部署_Java开发提升十倍生产力:Idea远程一键部署springboot到Docker
一、开发前准备
1.Docker安装
可以参考:
https://docs.docker.com/install/
2.配置docker远程连接端口
vi /usr/lib/systemd/system/docker.service
找到 ExecStart,在最后面添加 -H tcp://0.0.0.0:2375,如下图所示
3.重启docker
systemctl daemon-reload
systemctl start docker
4.开放端口
firewall-cmd --zone=public --add-port=2375/tcp --permanent
5.Idea安装插件,重启
6.连接远程docker
1、编辑配置
2、填远程docker地址
3、连接成功,会列出远程docker容器和镜像
二、新建项目
1.创建springboot项目
项目结构图
1、配置pom文件
<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0modelVersion><groupId>docker-demogroupId><artifactId>com.demoartifactId><version>1.0-SNAPSHOTversion><parent><groupId>org.springframework.bootgroupId><artifactId>spring-boot-starter-parentartifactId><version>2.0.2.RELEASEversion><relativePath />parent><properties><project.build.sourceEncoding>UTF-8project.build.sourceEncoding><project.reporting.outputEncoding>UTF-8project.reporting.outputEncoding><docker.image.prefix>com.demodocker.image.prefix><java.version>1.8java.version>properties><build><plugins><plugin><groupId>org.springframework.bootgroupId><artifactId>spring-boot-maven-pluginartifactId>plugin><plugin><groupId>com.spotifygroupId><artifactId>docker-maven-pluginartifactId><version>1.0.0version><configuration><dockerDirectory>src/main/dockerdockerDirectory><resources><resource><targetPath>/targetPath><directory>${project.build.directory}directory><include>${project.build.finalName}.jarinclude>resource>resources>configuration>plugin><plugin><artifactId>maven-antrun-pluginartifactId><executions><execution><phase>packagephase><configuration><tasks><copy todir="src/main/docker" file="target/${project.artifactId}-${project.version}.${project.packaging}">copy>tasks>configuration><goals><goal>rungoal>goals>execution>executions>plugin>plugins>build><dependencies><dependency><groupId>org.springframework.bootgroupId><artifactId>spring-boot-starter-webartifactId>dependency><dependency><groupId>org.springframework.bootgroupId><artifactId>spring-boot-starter-testartifactId><scope>testscope>dependency><dependency><groupId>log4jgroupId><artifactId>log4jartifactId><version>1.2.17version>dependency>dependencies>project>
2、在src/main目录下创建docker目录,并创建Dockerfile文件
FROM openjdk:8-jdk-alpine
ADD *.jar app.jar
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
3、在resource目录下创建application.properties文件
logging.config=classpath:logback.xml
logging.path=/home/developer/app/logs/
server.port=8990
4、创建DockerApplication文件
@SpringBootApplicationpublic class DockerApplication {public static void main(String[] args) {
SpringApplication.run(DockerApplication.class, args);
}
}
5、创建DockerController文件
@RestControllerpublic class DockerController {
static Log log = LogFactory.getLog(DockerController.class);@RequestMapping("/")public String index() {
log.info("Hello Docker!");return "Hello Docker!";
}
}
6、增加配置
命令解释:
- Image tag : 指定镜像名称和tag,镜像名称为 docker-demo,tag为1.1
- Bind ports : 绑定宿主机端口到容器内部端口。格式为[宿主机端口]:[容器内部端口]
- Bind mounts : 将宿主机目录挂到到容器内部目录中。格式为[宿主机目录]:[容器内部目录]。这个springboot项目会将日志打印在容器 /home/developer/app/logs/ 目录下,将宿主机目录挂载到容器内部目录后,那么日志就会持久化容器外部的宿主机目录中。
7、Maven打包8、运行先pull基础镜像,然后再打包镜像,并将镜像部署到远程docker运行这里我们可以看到镜像名称为docker-demo:1.1,docker容器为docker-server9、运行成功10、浏览器访问11、日志查看自此,通过IDEA 部署springboot项目到docker成功!难以想象,部署一个Javaweb项目竟然如此简单方便!End
扩展阅读
如何让你的SQL运行得更快
SpringBoot 应用部署于外置 Tomcat 容器
7大绝招帮你轻轻松松提升MySQL性能
这可能是最为详细的Docker入门吐血总结
Intellij IDEA神器那些让人爱不释手的小技巧
作者:陶章好
来源:https://juejin.im/post/5d026212f265da1b8608828b
docker php 一键部署_Java开发提升十倍生产力:Idea远程一键部署springboot到Docker相关推荐
- docker 远程连接 文件看不到_开发提升十倍生产力: IDEA 远程一键部署 Spring Boot 到 Docker...
一.开发前准备 二.新建项目 <Java 2019 超神之路> <Dubbo 实现原理与源码解析 -- 精品合集> <Spring 实现原理与源码解析 -- 精品合集&g ...
- docker 远程连接 文件看不到_Java 开发提升十倍生产力:IDEA 远程一键部署 Spring Boot 到 Docker...
一.开发前准备 二.新建项目 <Java 2019 超神之路> <Dubbo 实现原理与源码解析 -- 精品合集> <Spring 实现原理与源码解析 -- 精品合集&g ...
- Java 开发提升十倍生产力:idea 远程一键部署 springboot 到 Docker
点击上方 好好学java ,选择 星标 公众号 重磅资讯.干货,第一时间送达 今日推荐:牛人 20000 字的 Spring Cloud 总结,太硬核了~ 作者:陶章好 链接:https://juej ...
- 如何用 IDEA 提升十倍开发效率?
工欲善其事,必先利其器.想要提升编程开发效率,必须选择一款顺手的开发工具. JetBrains 公司提供了一系列功能强大.风格统一的开发工具,深受开发者喜爱.其中,IDEA 是面向 Java 开发的专 ...
- Nacos 2.0 性能提升十倍,贡献者 80% 以上来自阿里之外
来源 | 阿里巴巴云原生公众号 3 月 20 日,Nacos 2.0 正式发布.Nacos 是阿里巴巴在 2018 年开源的一个更易于构建云原生应用的动态服务发现.配置管理和服务管理平台,也可以理解为 ...
- 腾讯云三大自研数据库之一 TBase 开源后首次重磅升级,复杂查询性能最高提升十倍
7月13日,腾讯云自研分布式HTAP数据库TBase正式发布最新开源版本.这款被欧洲航天局作为" Gaia Mission"行星探索项目的核心数据库,迎来了自开源以来的重磅升级.该 ...
- TBase数据库开源后重磅升级,复杂查询性能最高提升十倍
这款被欧洲航天局作为" Gaia Mission"行星探索项目的核心数据库,迎来了自开源以来的重磅升级.7月13日,腾讯云自研分布式HTAP数据库TBase正式发布最新开源版本,该 ...
- 如何将 iOS 工程打包速度提升十倍以上
如何将 iOS 工程打包速度提升十倍以上 过慢的编译速度有非常明显的副作用.一方面,程序员在等待打包的过程中可能会分心,比如刷刷朋友圈,看条新闻等等.这种认知上下文的切换会带来很多隐形的时间浪费.另一 ...
- 必须掌握的20个Excel技巧,让你的工作效率提升十倍
知识的广度来自知识的深度,学习如果不成体系那是多可怕的一件事儿,希望我们在未来的学习道路上坚守初心,不要给自己留下遗憾,以自己喜欢的方式生活,做自己喜欢做的事,宠爱自己,做一个独一无二的自己! 对于文 ...
最新文章
- 什么是mysql的游标_数据库中的游标到底是什么意思
- @async注解_SpringBoot中Async异步方法和定时任务介绍
- Mac OS系统版本与XCode版本的关系
- liunx php的项目地址,在 Linux 配置 PHP 项目
- 大数据技术周报第 007 期
- BTREE这种Mysql默认的索引方式,具有普遍的适用性
- Mac如何设置允许和iCloud之间使用接力功能?
- shell export path_学习Shell编程
- Spring整合MyBatis之SqlSession对象的产生
- 英特尔首席工程师吴甘沙:一切弯路都是直路
- 大华条码秤数据同步发送数据格式
- 网易数帆王佰平:我的 Envoy Maintainer 之路
- [Idea] Add Abbreviation的使用
- python 群发邮件数量限制_python群发邮件
- 计算机毕业设计SSM_旅游系统【附源码数据库】
- 游戏私服的配置与防御选择
- 安装mpg123音乐播放器
- 键盘录入、提高成绩(金山打字通)
- 服务器系统945主板,IT教程:945主板最高装什么cpu
- Hybrid App(混合编程)
热门文章
- 使用Python requests post上传图片及示例demo
- 怎么在linux下使用ftp服务器,怎么在Linux下建立安全的FTP服务器?
- 测试一体机风扇分贝软件,9款小风扇深度横评,风力、噪音测试加拆解,告诉你谁最值得买...
- java 0 1背包_浅谈java实现背包算法(0-1背包问题)
- 中文验证码 php_还在苦恼验证码怎么实现?看看这个验证码组件合集,你想要的都有...
- python修改mac地址_python利用_winreg模块制作MAC地址修改工具
- ps抠头发插件_彻底告别抠图的烦恼!PS自动抠图超级插件Topaz ReMask大放送
- react 遍历对象_React 源码系列 | React Children 详解
- 从逻辑回归到最大熵模型
- Spring Cloud构建微服务架构:分布式服务跟踪(跟踪原理)【Dalston版】