日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網(wǎng)為廣大站長提供免費(fèi)收錄網(wǎng)站服務(wù),提交前請(qǐng)做好本站友鏈:【 網(wǎng)站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(wù)(50元/站),

點(diǎn)擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會(huì)員:747

目錄
  • Docker-Maven-Plugin
  • Maven插件自動(dòng)部署步驟
    • 1、修改宿主機(jī)的docker配置,開放2375端口,讓其可以遠(yuǎn)程訪問
    • 2、刷新配置,重啟服務(wù)
    • 3、配置容器防火墻
    •  4、在pom.xml 添加配置

Docker-Maven-Plugin

微服務(wù)部署有兩種方法:

  • 手動(dòng)部署:首先基于源碼打包生成jar包(或war包),寫個(gè)Dockerfile文件,基于基礎(chǔ)鏡像搞個(gè)新鏡像,將jar包(或war包)上傳至虛擬機(jī)并拷貝至JDK容器。(太麻煩了)
  • 通過Maven插件自動(dòng)部署。 這也是企業(yè)實(shí)際開發(fā)中經(jīng)常使用的方法。

Maven插件自動(dòng)部署步驟

寫在最前面:該方法有漏洞,容易被黑客遠(yuǎn)程放入挖礦機(jī)鏡像,開啟需做好防范,開放了2375,沒做ip限制,就被拉去挖礦了。。。推薦使用CA加密端口

1、修改宿主機(jī)的docker配置,開放2375端口,讓其可以遠(yuǎn)程訪問

本地執(zhí)行maven命令對(duì)于宿主機(jī)來說是遠(yuǎn)程操作,docker的遠(yuǎn)程操作是默認(rèn)關(guān)閉的,先開啟2375端口

首先在宿主機(jī)上執(zhí)行命令,修改配置文件(centos 7)

vi /lib/systemd/system/docker.service

ExecStart=后添加配置 ‐H tcp://0.0.0.0:2375 ‐H unix:///var/run/docker.sock

ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock \

unix://var/run/docker.sock:unix socket,本地客戶端將通過這個(gè)來連接 Docker Daemon

tcp://0.0.0.0:2375:tcp socket,表示允許任何遠(yuǎn)程客戶端通過 2375 端口連接 Docker Daemon。

原來

詳細(xì)docker-maven-plugin使用方法

修改后

詳細(xì)docker-maven-plugin使用方法

如果是centos7以下修改為

ExecStart=/usr/bin/dockerd -H fd:// -H tcp://0.0.0.0:2375

2、刷新配置,重啟服務(wù)

systemctl daemon-reload		//加載docker守護(hù)線程
systemctl restart docker 	//重啟docker

3、配置容器防火墻

即使開放了2375端口,外部也是不能訪問的,只能內(nèi)部訪問,如果要讓外部可以訪問。得要配置下防火墻。如果阿里云不配置,當(dāng)心被拉去挖礦-_-,我這是學(xué)校服務(wù)器,要vpn才能訪問,無所謂

這里就關(guān)了

使用命令
systemctl stop firewalld (關(guān)閉防火墻)
systemctl disable firewalld (禁用防火墻,開機(jī)不會(huì)啟動(dòng))

關(guān)閉 selinux

vi /etc/selinux/config,SELINUX=enforcing改為disabled

詳細(xì)docker-maven-plugin使用方法

重啟完成后,檢查防火墻和selinux狀態(tài)

systemctl status firewalld(查看防火墻狀態(tài))
secon(查看selinux狀態(tài))

詳細(xì)docker-maven-plugin使用方法

阿里云建議配置安全詛

此時(shí)我連一下 docker,成功

詳細(xì)docker-maven-plugin使用方法

 4、在pom.xml 添加配置

用下面配置就會(huì)自動(dòng)生成Dockerfile

<build>
        <finalName>testDocker</finalName>
        <plugins>

            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>

            <!--docker的maven插件-->
            <plugin>
                <groupId>com.spotify</groupId>
                <artifactId>docker-maven-plugin</artifactId>
                <version>1.1.0</version>
                <!--配置部分-->
                <configuration>
                    <!--修改imageName節(jié)點(diǎn)的內(nèi)容,改為私有倉庫地址和端口,再加上鏡像id和TAG,我們要直接傳到私服-->
                    <!--配置最后生成的鏡像名,docker images里的,我們這邊取項(xiàng)目名:版本-->
                    <imageName>172.19.240.208:5000/${project.artifactId}:${project.version}</imageName>
                    <!--基礎(chǔ)鏡像,相當(dāng)于Dockerfile里的from-->
                    <baseImage>ascdc/jdk8</baseImage>
                    <!--入口點(diǎn),project.build.finalName就是project標(biāo)簽下的build標(biāo)簽下的filename標(biāo)簽內(nèi)容,testDocker-->
                    <!--相當(dāng)于啟動(dòng)容器后,會(huì)自動(dòng)執(zhí)行java-jar/testDocker.jar-->
                    <entryPoint>["java", "‐jar", "/${project.build.finalName}.jar"]</entryPoint>
                    <!--是否推送到docker私有倉庫-->
                    <pushImage>true</pushImage>
                    <registryUrl>172.19.240.208:5000</registryUrl>

                    <resources>
                        <resource>
                            <targetPath>/</targetPath>
                            <directory>${project.build.directory}</directory>
                            <!--把哪個(gè)文件上傳到docker,相當(dāng)于Dockerfile里的add testDocker.jar /-->
                            <include>${project.build.finalName}.jar</include>
                        </resource>
                    </resources>
                    <dockerHost>http://172.19.240.208:2375</dockerHost>
                </configuration>
            </plugin>
        </plugins>
    </build>

注意,push到私有倉庫有三點(diǎn),并且前提是容器處于啟動(dòng)狀態(tài)

<!-- 1、新增registryUrl節(jié)點(diǎn),內(nèi)容是私有倉庫地址和端口(我這邊設(shè)置了5000端口)-->
<registryUrl>你的ip:5000</registryUrl>

<!-- 2、新增pushImage節(jié)點(diǎn) -->
<pushImage>true</pushImage>

<!-- 3、修改imageName節(jié)點(diǎn)的內(nèi)容,改為私有倉庫地址和端口,再加上鏡像id和TAG,到倉庫里的名字就是你的項(xiàng)目名:版本 -->
<imageName>你的ip:5000/${project.artifactId}:${project.version}</imageName>

mvn clean,mvn install一下,先放到本地倉庫再說

詳細(xì)docker-maven-plugin使用方法

然后執(zhí)行mvn docker:build命令創(chuàng)建鏡像,如果還要上傳,加個(gè)-DpushImage參數(shù)

詳細(xì)docker-maven-plugin使用方法

跑的時(shí)候有一個(gè)錯(cuò)誤

[ERROR] Failed to execute goal com.spotify:docker-maven-plugin:1.1.0:build (default-cli) on project demo:
Exception caught: pull access denied for jdk1.8, repository does not exist or may require ‘docker login’:
denied: requested access to the resource is denied -> [Help 1]

百度查了一下,很多人說是要登錄,實(shí)際上不是要登錄,也不是倉庫不存在,實(shí)際上是我的docker上沒有jdk1.8的鏡像文件,需要自己下一個(gè),可以docker search jdk8,pull一個(gè),或者自己傳tar包上去然后Dockerfile搞一個(gè)。我直接pull了一個(gè)

詳細(xì)docker-maven-plugin使用方法

docker images

詳細(xì)docker-maven-plugin使用方法

在項(xiàng)目中改下基礎(chǔ)鏡像名

詳細(xì)docker-maven-plugin使用方法

成功構(gòu)建并push上去

詳細(xì)docker-maven-plugin使用方法

詳細(xì)docker-maven-plugin使用方法

詳細(xì)docker-maven-plugin使用方法

查看鏡像

詳細(xì)docker-maven-plugin使用方法

查看倉庫

詳細(xì)docker-maven-plugin使用方法

分享到:
標(biāo)簽:Docker Maven 使用方法 服務(wù)器 詳細(xì)
用戶無頭像

網(wǎng)友整理

注冊(cè)時(shí)間:

網(wǎng)站:5 個(gè)   小程序:0 個(gè)  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會(huì)員

趕快注冊(cè)賬號(hào),推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨(dú)大挑戰(zhàn)2018-06-03

數(shù)獨(dú)一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學(xué)四六

運(yùn)動(dòng)步數(shù)有氧達(dá)人2018-06-03

記錄運(yùn)動(dòng)步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績?cè)u(píng)定2018-06-03

通用課目體育訓(xùn)練成績?cè)u(píng)定