安裝docker服務或者系統學習docker參考這篇文檔:https://shimo.im/docs/fE0eJCx8IIojQXzB/
1.配置docker的遠程端口
vim /usr/lib/systemd/system/docker.service
找到ExecStart,在最后追加
-H tcp://0.0.0.0:2375
2.重啟docker
systemctl daemon-reload
systemctl stop docker
systemctl start docker
3.如果開啟了防火牆需開發端口,我這里直接將防火牆關閉,所以不用執行此命令
firewall-cmd --zone=public --add-port=2375/tcp --permanent
4.idea安裝docker插件
5.連接遠程docker
連接成功夠會展示docker中容器和鏡像
6.之后在需要部署的項目pom文件中添加以下配置:
1 <build> 2 <plugins> 3 <plugin> 4 <groupId>org.springframework.boot</groupId> 5 <artifactId>spring-boot-maven-plugin</artifactId> 6 </plugin> 7 <plugin> 8 <groupId>com.spotify</groupId> 9 <artifactId>docker-maven-plugin</artifactId> 10 <version>1.0.0</version> 11 <configuration> 12 <dockerDirectory>src/main/docker</dockerDirectory> 13 <resources> 14 <resource> 15 <targetPath>/</targetPath> 16 <directory>${project.build.directory}</directory> 17 <include>${project.build.finalName}.jar</include> 18 </resource> 19 </resources> 20 </configuration> 21 </plugin> 22 <plugin> 23 <artifactId>maven-antrun-plugin</artifactId> 24 <executions> 25 <execution> 26 <phase>package</phase> 27 <configuration> 28 <tasks> 29 <copy todir="src/main/docker" file="target/${project.artifactId}-${project.version}.${project.packaging}"></copy> 30 </tasks> 31 </configuration> 32 <goals> 33 <goal>run</goal> 34 </goals> 35 </execution> 36 </executions> 37 </plugin> 38 39 </plugins> 40 </build>
7.在src/main目錄下創建docker目錄,並創建Dockerfile文件,文件內容:
FROM openjdk:8-jdk-alpine
ADD *.jar app.jar
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
8.idea配置docker
Image tag : 指定鏡像名稱和tag,鏡像名稱為 docker-demo,tag為1.1
Bind ports : 綁定宿主機端口到容器內部端口。格式為[宿主機端口]:[容器內部端口]
9.添加maven打包命令:第一步清除上次編譯或者打包的文件,第二步是對項目進行編譯以及打成jar
包
clean package -Dmaven.test.skip=true
10.啟動完成后
訪問: