日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > php >内容正文

php

docker php 一键部署_Java开发提升十倍生产力:Idea远程一键部署springboot到Docker

發(fā)布時間:2024/7/19 php 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 docker php 一键部署_Java开发提升十倍生产力:Idea远程一键部署springboot到Docker 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
IDEA是Java開發(fā)利器,springboot是Java生態(tài)中最流行的微服務(wù)框架,docker是時下最火的容器技術(shù),那么它們結(jié)合在一起會產(chǎn)生什么化學(xué)反應(yīng)呢?

一、開發(fā)前準(zhǔn)備

1.Docker安裝

可以參考:

https://docs.docker.com/install/

2.配置docker遠(yuǎn)程連接端口

??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.連接遠(yuǎn)程docker

1、編輯配置

2、填遠(yuǎn)程docker地址

3、連接成功,會列出遠(yuǎn)程docker容器和鏡像

二、新建項(xiàng)目

1.創(chuàng)建springboot項(xiàng)目

項(xiàng)目結(jié)構(gòu)圖

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目錄下創(chuàng)建docker目錄,并創(chuàng)建Dockerfile文件

FROM?openjdk:8-jdk-alpine
ADD?*.jar?app.jar
ENTRYPOINT?["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]

3、在resource目錄下創(chuàng)建application.properties文件

logging.config=classpath:logback.xml
logging.path=/home/developer/app/logs/
server.port=8990

4、創(chuàng)建DockerApplication文件

@SpringBootApplicationpublic?class?DockerApplication?{public?static?void?main(String[]?args)?{
????????SpringApplication.run(DockerApplication.class,?args);
????}
}

5、創(chuàng)建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 : 綁定宿主機(jī)端口到容器內(nèi)部端口。格式為[宿主機(jī)端口]:[容器內(nèi)部端口]
  • Bind mounts : 將宿主機(jī)目錄掛到到容器內(nèi)部目錄中。格式為[宿主機(jī)目錄]:[容器內(nèi)部目錄]。這個springboot項(xiàng)目會將日志打印在容器 /home/developer/app/logs/ 目錄下,將宿主機(jī)目錄掛載到容器內(nèi)部目錄后,那么日志就會持久化容器外部的宿主機(jī)目錄中。
7、Maven打包8、運(yùn)行先pull基礎(chǔ)鏡像,然后再打包鏡像,并將鏡像部署到遠(yuǎn)程docker運(yùn)行這里我們可以看到鏡像名稱為docker-demo:1.1,docker容器為docker-server9、運(yùn)行成功10、瀏覽器訪問11、日志查看自此,通過IDEA 部署springboot項(xiàng)目到docker成功!難以想象,部署一個Javaweb項(xiàng)目竟然如此簡單方便!End

擴(kuò)展閱讀

如何讓你的SQL運(yùn)行得更快

SpringBoot 應(yīng)用部署于外置 Tomcat 容器

7大絕招幫你輕輕松松提升MySQL性能

這可能是最為詳細(xì)的Docker入門吐血總結(jié)

Intellij IDEA神器那些讓人愛不釋手的小技巧

作者:陶章好

來源:https://juejin.im/post/5d026212f265da1b8608828b

總結(jié)

以上是生活随笔為你收集整理的docker php 一键部署_Java开发提升十倍生产力:Idea远程一键部署springboot到Docker的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。