文章目录
1.4. Docker Maven插件自动上传镜像到私有仓库
docker pull registry
docker run --name registry -p 5000:5000 -d registry
http:// 192.168.174.130:5000/v2/_catalog
即可看到如下的内容说明启动成功:{
"repositories": []
}
vim /etc/docker/daemon.json
,添加如下的内容:"insecure-registries":["192.168.174.130:5000"]
systemctl restart docker
docker tag jdk8 192.168.174.130:5000/jdk8
: 标记该镜像docker images
:此时查看镜像,发现多了一个192.168.174.130:5000/jdk8
的镜像
docker push 192.168.174.130:5000/jdk8
:将标记的镜像上传到私有仓库中
http:// 192.168.174.130:5000/v2/_catalog
,将会看到如下内容
{
"repositories": [
"jdk8"
]
}
"insecure-registries":["192.168.174.130:5000"]
systemctl restart docker
docker pull 192.168.174.130:5000/jdk8
/etc/sysconfig/docker
文件:vim /etc/sysconfig/docker
DOCKER_OPTS='-H unix:///var/run/docker.sock -H 0.0.0.0:2375'
vim /lib/systemd/system/docker.service
添加如下内容systemctl daemon-reload
systemctl restart docker
firewall-cmd --zone=public --add-port=2375/tcp --permanent
firewall-cmd --reload
<build>
<!-- 指定的最终打成jar包的名字 -->
<finalName>demo</finalName>
<plugins>
<!-- SpringBoot的maven插件 -->
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<plugin>
<groupId>com.spotify</groupId>
<artifactId>docker-maven-plugin</artifactId>
<version>0.4.13</version>
<configuration>
<!-- 注意imageName需要指定的`IP:端口/image_name`的格式-->
<imageName>192.168.174.130:5000/${project.artifactId}:${project.version}</imageName>
<!-- 指定基础镜像,不需要运行,相当于 from hub.c.163.com/library/java:8-alpine -->
<baseImage>hub.c.163.com/library/java:8-alpine</baseImage>
<!--覆盖相同标签镜像-->
<forceTags>true</forceTags>
<!-- 运行jar包 -->
<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>
<!-- 指定私有仓库所在服务器的2375端口,之前配置过可以远程访问的那个 -->
<dockerHost>http://192.168.174.130:2375</dockerHost>
</configuration>
</plugin>
</plugins>
</build>
mvn clean package docker:build -DpushImage
mvn clean package
:maven打jar包docker:build
:docker构建镜像的命令-DpushImage
: 将生成的镜像上传到私有仓库中http://192.168.174.130:5000/v2/_catalog
,将会出现如下的内容{
"repositories": [
"demo"
]
}
http://192.168.174.130:5000/v2/demo/tags/list
,可以看到demo这个镜像的所有版本FROM hub.c.163.com/library/java:8-alpine
ADD /demo.jar //
ENTRYPOINT ["java", "-jar", "/demo.jar"]
docker pull 192.168.174.130:5000/demo:0.0.1-SNAPSHOT
下载仓库中的镜像docker run --name demo -p 7001:7001 -d f7f36f3f3f06
http://192.168.174.128:7001/
,就能看到eureka注册中心的页面