idea連接docker實(shí)現(xiàn)一鍵部署的方法
1.修改docker配置文件,打開(kāi)2375端口
[root@s162 docker]# vim /usr/lib/systemd/system/docker.service #查找 ExecStart,在末尾添加 #后面加上-H tcp://0.0.0.0:2375 [root@s162 docker]# systemctl daemon-reload [root@s162 docker]# systemctl start docker ## 查看2375端口是否啟用 [root@s162 docker]# lsof -i:2375 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME dockerd 27021 root 5u IPv6 352598799 0t0 TCP *:2375 (LISTEN)
2. Idea安裝配置docker插件
2.1. idea-plugins市場(chǎng)安裝docker插件
略…
2.2. 配置docker
3.springboot項(xiàng)目部署到docker服務(wù)器
3.1. 編寫(xiě)docker/dockerfile
3.2.maven添加docker-maven-plugin插件
<plugin> <groupId>com.spotify</groupId> <artifactId>docker-maven-plugin</artifactId> <version>1.0.0</version> <configuration> <!--指定生成的鏡像名,如果不指定tag,默認(rèn)會(huì)使用latest--> <imageName>jhs/${project.artifactId}:${project.version}</imageName> <!--添加額外的指定標(biāo)簽, 非必須--> <!-- <imageTags> <imageTag>${project.version}</imageTag> </imageTags> --> <!-- 指定 Dockerfile 路徑 :項(xiàng)目根路徑下--> <dockerDirectory>${project.basedir}/docker</dockerDirectory> <!--指定遠(yuǎn)程 docker api地址--> <dockerHost>http://192.168.129.162:2375</dockerHost> <!-- copy資源 --> <resources> <resource> <targetPath>/</targetPath> <directory>${project.build.directory}</directory> <include>${project.build.finalName}.jar</include> </resource> </resources> <!--docker build dockerfile時(shí):設(shè)置鏡像創(chuàng)建時(shí)的變量 --> <buildArgs> <JAR_FILE>target/${project.build.finalName}.jar</JAR_FILE> </buildArgs> </configuration> </plugin>
3.3. docker:build
使用命令$ mvn clean package docker:build -Dmaven.test.skip=true
構(gòu)建鏡像,在docker服務(wù)器上查看鏡像是否上傳成功:
3.4 docker:tag
docker命令行格式為:
#docker tag <imageId or imageName> <nexus-hostname>:<repository-port>/<image>:<tag>
插件配置
<configuration>
補(bǔ)充配置:
<configuration> <image>jhs/${project.artifactId}:${project.version}</image> <!-- docker tag 打標(biāo)簽--> <newName>192.168.129.160:5000/${project.artifactId}:${project.version}</newName> </configuration>
為鏡像打上tag標(biāo)簽,為后續(xù)的push做準(zhǔn)備:mvn clean docker:tag -Dmaven.test.skip=true -DskipDockerBuild
3.5 docker:push
插件配置
<configuration>
補(bǔ)充配置:
<configuration> <!-- docker push 推送到遠(yuǎn)程鏡像倉(cāng)庫(kù)--> <!-- serverId: 為在maven setting.xml配置的server信息id--> <serverId>nexus-docker-registry</serverId> <registryUrl>192.168.129.160:5000</registryUrl> <!-- 打上tag的新鏡像 push 到nexus--> <imageName>192.168.129.160:5000/${project.artifactId}</imageName> </configuration>
將上文打上tag標(biāo)簽的鏡像,推送到私服nexus:mvn clean docker:push -Dmaven.test.skip=true -DskipDockerBuild -DskipDockerTag
3.6 docker插件參數(shù)
-DskipDockerBuild
to skip image build-DskipDockerTag
to skip image tag-DskipDockerPush
to skip image push-DskipDocker
to skip any Docker goals
3.7 綁定命令到maven phases
<executions> <execution> <id>build-image</id> <phase>package</phase> <goals> <goal>build</goal> </goals> </execution> <execution> <id>tag-image</id> <phase>package</phase> <goals> <goal>tag</goal> </goals> <configuration> <image>jhs/${project.artifactId}:${project.version}</image> <newName>192.168.129.160:5000/${project.artifactId}:${project.version}</newName> </configuration> </execution> <execution> <id>push-image</id> <phase>deploy</phase> <goals> <goal>push</goal> </goals> <configuration> <!-- docker push 推送到遠(yuǎn)程鏡像倉(cāng)庫(kù)--> <!-- serverId: 為在maven setting.xml配置的server信息id--> <serverId>nexus-docker-registry</serverId> <registryUrl>192.168.129.160:5000</registryUrl> <imageName>192.168.129.160:5000/${project.artifactId}</imageName> </configuration> </execution> </executions>
3.8 最佳實(shí)踐
<properties> <docker.host>http://192.168.129.162:2375</docker.host> <docker.registry.url>192.168.129.160:5000</docker.registry.url> </properties> <build> <plugins> <plugin> <groupId>com.spotify</groupId> <artifactId>docker-maven-plugin</artifactId> <version>1.0.0</version> <configuration> <imageName>dic/${project.artifactId}:${project.version}</imageName> <!--添加額外的指定標(biāo)簽(可配置多個(gè)), 若果沒(méi)做指定,則為latest--> <!-- <imageTags> <imageTag>${project.version}</imageTag> </imageTags> --> <!-- 指定 Dockerfile 路徑 :項(xiàng)目根路徑下--> <dockerDirectory>${project.basedir}/docker</dockerDirectory> <!--指定遠(yuǎn)程 docker api地址--> <dockerHost>${docker.host}</dockerHost> <!-- copy資源 --> <resources> <resource> <targetPath>/</targetPath> <directory>${project.build.directory}</directory> <include>${project.build.finalName}.jar</include> </resource> </resources> <!--docker build dockerfile時(shí):設(shè)置鏡像創(chuàng)建時(shí)的變量 --> <buildArgs> <JAR_FILE>target/${project.build.finalName}.jar</JAR_FILE> </buildArgs> </configuration> <executions> <execution> <id>build-image</id> <phase>package</phase> <goals> <goal>build</goal> </goals> </execution> <execution> <id>tag-image</id> <phase>package</phase> <goals> <goal>tag</goal> </goals> <configuration> <image>dic/${project.artifactId}:${project.version}</image> <newName>${docker.registry.url}/${project.artifactId}:${project.version}</newName> </configuration> </execution> <execution> <id>push-image</id> <phase>deploy</phase> <goals> <goal>push</goal> </goals> <configuration> <!-- docker push 推送到遠(yuǎn)程鏡像倉(cāng)庫(kù)--> <!-- serverId: 為在maven setting.xml配置的server信息id--> <serverId>nexus-docker-registry</serverId> <registryUrl>${docker.registry.url}</registryUrl> <imageName>${docker.registry.url}/${project.artifactId}</imageName> </configuration> </execution> </executions> </plugin> </plugins> </build>
4.Docker私服倉(cāng)庫(kù)Harbor安裝的步驟詳解(補(bǔ)充)
http://www.dbjr.com.cn/article/161964.htm
到此這篇關(guān)于idea連接docker實(shí)現(xiàn)一鍵部署的文章就介紹到這了,更多相關(guān)idea連接docker一鍵部署內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Docker中運(yùn)行nginx并掛載本地目錄到鏡像中的方法
這篇文章主要介紹了Docker中運(yùn)行nginx并掛載本地目錄到鏡像中的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2019-01-01CentOS7.6系統(tǒng)下Docker安裝部署教程
這篇文章主要為大家介紹了CentOS7.6系統(tǒng)下Docker的安裝部署教程,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步早日升職加薪2022-04-04云原生之使用Docker部署homer靜態(tài)主頁(yè)的方法步驟
本文主要介紹了云原生之使用Docker部署homer靜態(tài)主頁(yè)的方法步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-08-08詳解Docker私有倉(cāng)庫(kù)Registry的搭建驗(yàn)證
這篇文章主要介紹了詳解Docker私有倉(cāng)庫(kù)Registry的搭建驗(yàn)證,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-05-05Docker安裝Redis容器的實(shí)現(xiàn)步驟
本文主要介紹了Docker安裝Redis容器的實(shí)現(xiàn)步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-09-09Docker深度清除鏡像緩存overlay2的實(shí)現(xiàn)
維清理鏡像是通過(guò)命令?docker?rm?i?刪除鏡像的,但是這條命令不會(huì)刪除docker?build命令產(chǎn)生的緩存文件,本文主要介紹了Docker深度清除鏡像緩存overlay2的實(shí)現(xiàn),感興趣的可以了解一下2023-12-12