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/ 目錄下,將宿主機目錄掛載到容器內部目錄后,那么日志就會持久化容器外部的宿主機目錄中。
擴展閱讀
如何讓你的SQL運行得更快
SpringBoot 應用部署于外置 Tomcat 容器
7大絕招幫你輕輕松松提升MySQL性能
這可能是最為詳細的Docker入門吐血總結
Intellij IDEA神器那些讓人愛不釋手的小技巧
作者:陶章好
來源:https://juejin.im/post/5d026212f265da1b8608828b
總結
以上是生活随笔為你收集整理的docker php 一键部署_Java开发提升十倍生产力:Idea远程一键部署springboot到Docker的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: matlab 带有下标的赋值维度不匹配_
- 下一篇: 去掉边框_安卓也有堪比 VOUN 的加边