1.修改docker配置文件,打开2375端口
[root@s162 docker]# vim /usr/lib/systemd/system/docker.service #查找 ExecStart,在末尾添加 #后面加上-H tcp://0.0.0.0:2375 [root@s162 docker]# systemctl daemon-reload [root@s162 docker]# systemctl start docker ## 查看2375端口是否启用 [root@s162 docker]# lsof -i:2375 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME dockerd 27021 root 5u IPv6 352598799 0t0 TCP *:2375 (LISTEN)
2. Idea安装配置docker插件
2.1. idea-plugins市场安装docker插件
略…
2.2. 配置docker
3.springboot项目部署到docker服务器
3.1. 编写docker/dockerfile
3.2.maven添加docker-maven-plugin插件
<plugin> <groupId>com.spotify</groupId> <artifactId>docker-maven-plugin</artifactId> <version>1.0.0</version> <configuration> <!--指定生成的镜像名,如果不指定tag,默认会使用latest--> <imageName>jhs/${project.artifactId}:${project.version}</imageName> <!--添加额外的指定标签, 非必须--> <!-- <imageTags> <imageTag>${project.version}</imageTag> </imageTags> --> <!-- 指定 Dockerfile 路径 :项目根路径下--> <dockerDirectory>${project.basedir}/docker</dockerDirectory> <!--指定远程 docker api地址--> <dockerHost>http://192.168.129.162:2375</dockerHost> <!-- copy资源 --> <resources> <resource> <targetPath>/</targetPath> <directory>${project.build.directory}</directory> <include>${project.build.finalName}.jar</include> </resource> </resources> <!--docker build dockerfile时:设置镜像创建时的变量 --> <buildArgs> <JAR_FILE>target/${project.build.finalName}.jar</JAR_FILE> </buildArgs> </configuration> </plugin>
3.3. docker:build
使用命令$ mvn clean package docker:build -Dmaven.test.skip=true
构建镜像,在docker服务器上查看镜像是否上传成功:
3.4 docker:tag
docker命令行格式为:
#docker tag <imageId or imageName> <nexus-hostname>:<repository-port>/<image>:<tag>
插件配置
<configuration>
补充配置:
<configuration> <image>jhs/${project.artifactId}:${project.version}</image> <!-- docker tag 打标签--> <newName>192.168.129.160:5000/${project.artifactId}:${project.version}</newName> </configuration>
为镜像打上tag标签,为后续的push做准备:mvn clean docker:tag -Dmaven.test.skip=true -DskipDockerBuild
3.5 docker:push
插件配置
<configuration>
补充配置:
<configuration> <!-- docker push 推送到远程镜像仓库--> <!-- serverId: 为在maven setting.xml配置的server信息id--> <serverId>nexus-docker-registry</serverId> <registryUrl>192.168.129.160:5000</registryUrl> <!-- 打上tag的新镜像 push 到nexus--> <imageName>192.168.129.160:5000/${project.artifactId}</imageName> </configuration>
将上文打上tag标签的镜像,推送到私服nexus:mvn clean docker:push -Dmaven.test.skip=true -DskipDockerBuild -DskipDockerTag
3.6 docker插件参数
-DskipDockerBuild
to skip image build-DskipDockerTag
to skip image tag-DskipDockerPush
to skip image push-DskipDocker
to skip any Docker goals
3.7 绑定命令到maven phases
<executions> <execution> <id>build-image</id> <phase>package</phase> <goals> <goal>build</goal> </goals> </execution> <execution> <id>tag-image</id> <phase>package</phase> <goals> <goal>tag</goal> </goals> <configuration> <image>jhs/${project.artifactId}:${project.version}</image> <newName>192.168.129.160:5000/${project.artifactId}:${project.version}</newName> </configuration> </execution> <execution> <id>push-image</id> <phase>deploy</phase> <goals> <goal>push</goal> </goals> <configuration> <!-- docker push 推送到远程镜像仓库--> <!-- serverId: 为在maven setting.xml配置的server信息id--> <serverId>nexus-docker-registry</serverId> <registryUrl>192.168.129.160:5000</registryUrl> <imageName>192.168.129.160:5000/${project.artifactId}</imageName> </configuration> </execution> </executions>
3.8 最佳实践
<properties> <docker.host>http://192.168.129.162:2375</docker.host> <docker.registry.url>192.168.129.160:5000</docker.registry.url> </properties> <build> <plugins> <plugin> <groupId>com.spotify</groupId> <artifactId>docker-maven-plugin</artifactId> <version>1.0.0</version> <configuration> <imageName>dic/${project.artifactId}:${project.version}</imageName> <!--添加额外的指定标签(可配置多个), 若果没做指定,则为latest--> <!-- <imageTags> <imageTag>${project.version}</imageTag> </imageTags> --> <!-- 指定 Dockerfile 路径 :项目根路径下--> <dockerDirectory>${project.basedir}/docker</dockerDirectory> <!--指定远程 docker api地址--> <dockerHost>${docker.host}</dockerHost> <!-- copy资源 --> <resources> <resource> <targetPath>/</targetPath> <directory>${project.build.directory}</directory> <include>${project.build.finalName}.jar</include> </resource> </resources> <!--docker build dockerfile时:设置镜像创建时的变量 --> <buildArgs> <JAR_FILE>target/${project.build.finalName}.jar</JAR_FILE> </buildArgs> </configuration> <executions> <execution> <id>build-image</id> <phase>package</phase> <goals> <goal>build</goal> </goals> </execution> <execution> <id>tag-image</id> <phase>package</phase> <goals> <goal>tag</goal> </goals> <configuration> <image>dic/${project.artifactId}:${project.version}</image> <newName>${docker.registry.url}/${project.artifactId}:${project.version}</newName> </configuration> </execution> <execution> <id>push-image</id> <phase>deploy</phase> <goals> <goal>push</goal> </goals> <configuration> <!-- docker push 推送到远程镜像仓库--> <!-- serverId: 为在maven setting.xml配置的server信息id--> <serverId>nexus-docker-registry</serverId> <registryUrl>${docker.registry.url}</registryUrl> <imageName>${docker.registry.url}/${project.artifactId}</imageName> </configuration> </execution> </executions> </plugin> </plugins> </build>
4.Docker私服仓库Harbor安装的步骤详解(补充)
https://www.jb51.net/article/161964.htm
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
暂无评论...
更新日志
2024年11月22日
2024年11月22日
- FIM-无可挑剔的声音(SuperSound声霸1)[FLAC+CUE]
- 萧亚轩《3面夏娃/三面夏娃》[WAV+CUE][1G]
- 佛音《大悲咒》新加坡金碟珍藏版[WAV+CUE][994M]
- 刘德丽《赤的疑惑HQCD》头版限量编号MQA[WAV+CUE][1G]
- 谢采妘《古典情·现代心精选辑》[南方唱片]2CD[WAV整轨]
- [好时代珍藏系列]山口百惠《赤之传说》[WAV+CUE]
- RonaldBrautigam,PeterMasseursandConcertgebouwOrchestraAmsterdam-ShostakovichTheJazz
- 筷子兄弟《老男孩》[WAV+CUE][899M]
- 陈曦《寂寞在唱歌HQCD》2023头版限量编号[WAV+CUE][1G]
- 张惠妹《阿密特》NEW XRCD[WAV+CUE][455M]
- 邓伟标《西游记之悟空》24K金碟限量编号首版[低速原抓WAV+CUE]
- 群星《2024好听新歌40》AI调整音效【WAV分轨】
- 张梦弘《大城小爱HQ》头版限量编号[低速原抓WAV+CUE]
- 张敬轩《MY 1ST COLLECTION》2CD[WAV+CUE][1.7G]
- 张玮伽《夜归人HQⅡ》2024头版限量编号[WAV+CUE][523M]