推送镜像到Docker Hub
配置maven setting文件
将Docker hub
的账号密码配置在Maven
的setting.xml
文件中。将账号密码配置在servers
节点中。
1 | <servers> |
在项目中配置pom.xml
在项目中的pom.xml
配置MavenDocker
插件。
1 | <build> |
注意:
如果是
Spring Boot
项目,还需要配合Spring Boot
的打包插件使用,将下方插件配置在pom.xml。1
2
3
4<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
构建并推送镜像到Docker hub
在项目的命令行工具中执行命令。
我这里用的是IDEA
自带的命令行:Terminal
1 | maven clean package docker:build -DpushImage |
注意:上传至Docker hub,需要在本地安装Docker环境,或者在pom.xml中使用dockerHost
路径连接远程服务器的Docker进行镜像的构建和上传。
推送镜像到私服
配置宿主机Docker服务
要使用DockerMaven
插件进行自动部署,需要让远程宿主机的Docker
允许远程连接,修改Docker
服务的.service
文件。
修改
docker.service
文件1
vim /lib/systemd/system/docker.service
修改
ExecStart=/usr/bin/dockerd
在后面加上参数1
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock -H fd:// --containerd=/run/containerd/containerd.sock
重启Docker服务
1
2
3
4重新加载服务启动文件
systemctl daemon-reload
重启docker服务
systemctl restart docker重启Docker仓库容器
1
docker start imxushuai_registry
配置pom.xml
1 | <build> |
注意:
如果是
Spring Boot
项目,还需要配合Spring Boot
的打包插件使用,将下方插件配置在pom.xml。1
2
3
4<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
构建并推送镜像
执行上传命令
1 | mvn clean package docker:build -DpushImage |
OK!!!