一、安裝docker私有倉庫
1.拉取私有倉庫的鏡像
docker pull registry
2.啟動私有倉庫
docker run -di --name=registry -p 5000:5000 registry
3.瀏覽器訪問http://192.168.25.129:5000/v2/_catalog。若瀏覽器顯示{"repositories":[]}則表示安裝成功
4.讓docker信任私有倉庫地址
1)編輯docker配置文件
vi /etc/docker/daemon.json
2)新增私有倉庫地址
{ "registry-mirrors":["https://docker.mirrors.ustc.edu.cn"], "insecure-registries":["192.168.25.129:5000"] }
5.重啟docker
systemctl restart docker
二、上傳鏡像到私有倉庫
1.標記此鏡像為私有倉庫的鏡像
docker tag jdk1.8 192.168.25.129:5000/jdk1.8
2.啟動私有倉庫
docker start registry
3.上傳標記的鏡像
docker push 192.168.25.129:5000/jdk1.8
三、使用maven插件將tenpower-config工程發布到docker,並上傳到私有倉庫
1.修改宿主機docker配置,使其可被遠程訪問
vi /lib/systemd/system/docker.service
修改ExecStart=/usr/bin/dockerd這一行
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock
2.刷新配置
systemctl daemon-reload
systemctl restart docker
docker start registry
3.在tenpower-config的pom.xml中新增
<build> <!-- 設置工程名--> <finalName>app</finalName> <plugins> <!--springboot的maven插件--> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> <!-- docker 的 maven 插件,官網:https://github.com/spotify/docker-maven-plugin --> <plugin> <groupId>com.spotify</groupId> <artifactId>docker-maven-plugin</artifactId> <version>0.4.13</version> <configuration> <imageName>192.168.25.129:5000/${project.artifactId}:${project.version}</imageName> <baseImage>jdk1.8</baseImage> <entryPoint>["java","-jar","/${project.build.finalName}.jar"]</entryPoint> <resources> <resource> <targetPath>/</targetPath> <directory>${project.build.directory} </directory> <include>${project.build.finalName}.jar</include> </resource> </resources> <dockerHost>http://192.168.25.129:2375</dockerHost> </configuration> </plugin> </plugins> </build>
4.命令行進入tenpower-config工程所在目錄。輸入命令
E:\IdeaProjects\tenpower-parent\tenpower-config>mvn clean package docker:build -DpushImage
上述命令包括clean、打包、創建鏡像、上傳鏡像
5.瀏覽器訪問http://192.168.25.129:5000/v2/_catalog,會顯示{"repositories":["tenpower-config"]}
在宿主機輸入docker images會發現多了一個tenpower-config鏡像
6.運行tenpower-config容器
docker run -di --name=tenpower-config -p 12000:12000 192.168.25.129:5000/tenpower-config:1.0-SNAPSHOT
訪問http://192.168.25.129:12000/web-dev.yml,顯示: