1. 程式人生 > >極簡構建docker映象並push到私有倉庫

極簡構建docker映象並push到私有倉庫

step1,安裝本地docker環境,請自行百度

step2,本地docker 登入 私有倉庫,請自行百度

step3,調整 maven setting.xml 為當前環境的profile 新增

		<properties>
			<!-- 本地 docker 服務地址 -->
			<dockerHost>https://192.168.99.100:2376</dockerHost>
			<!-- 本地 docker 證書位置(windows),linux 請自行設定 -->
			<certPath>C:\Users\user\.docker\machine\machines\default</certPath>
			<!-- jar包打在docker映象中的目錄 -->
			<docker.image.jarPath>/data/postmall/jar</docker.image.jarPath>
		</properties>

step4,專案 pom.xml 新增 外掛如下

<!-- https://github.com/fabric8io/docker-maven-plugin -->
            <plugin>
                <groupId>io.fabric8</groupId>
                <artifactId>docker-maven-plugin</artifactId>
                <version>0.23.0</version>
                <configuration>
                    <!-- 本地 docker 環境,參考step1 -->
                    <dockerHost>${dockerHost}</dockerHost>
                    <!-- 本地 docker 證書 路徑,參考step1 -->
                    <certPath>${certPath}</certPath>
                    <images>
                        <image>
                            <!-- 映象名稱 -->
                            <name>${docker.repostory}/${docker.registry.name}/${project.groupId}-${project.artifactId}</name>
                            <build>
                                <!-- 依賴的基礎映象 -->
                                <from>docker.dev.uledns.com/ule/base_ubuntu_14.04_jdk1.8:20171110</from>
                                <tags>
                                    <tag>latest</tag>
                                    <tag>${project.version}</tag>
                                </tags>
                                <!-- 暴露埠 -->
                                <ports>
                                    <port>8888</port>
                                </ports>
                                <assembly>
                                    <!-- 打包檔案在映象中位置 -->
                                    <name>${docker.image.jarPath}</name>
                                    <!-- 指定打包進入映象的檔案為 jar 包 -->
                                    <descriptorRef>artifact</descriptorRef>
                                </assembly>
                                <cmd>
                                    <!-- 執行映象執行的命令 -->
                                    <shell>java -jar ${docker.image.jarPath}/${project.build.finalName}.jar</shell>
                                </cmd>
                            </build>
                        </image>
                    </images>
                </configuration>
            </plugin>

step5,回到專案根目錄執行命令

mvn package docker:build  // 打包並上傳至本地倉庫

mvn package docker:build docker:push // 打包並上傳至本地倉庫以及私有倉庫