一、安装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