1.首先你的本地有安装docker 如果没有请看我上一章内容
2.你的Idea 添加docker插件 如下图操作 (那个搜索框输入 docker)
3.开始加入docker相关依赖
<1>、新增maven插件
<properties>
<docker.image.prefix>david</docker.image.prefix>
</properties>
<build>
<finalName>docker-demo</finalName>
<plugins>
<plugin>
<groupId>com.spotify</groupId>
<artifactId>dockerfile-maven-plugin</artifactId>
<version>1.3.6</version>
<configuration>
<repository>${docker.image.prefix}/${project.artifactId}</repository>
<buildArgs>
<JAR_FILE>target/${project.build.finalName}.jar</JAR_FILE>
</buildArgs>
</configuration>
</plugin>
</plugins>
</build>
上面配置解释:
<docker.image.prefix>david</docker.image.prefix>
这个可以为公司的名字就是包的前缀
finalName>docker-demo</finalName
这个是一会打包完成的包的名称可以设置为项目名称
<2>、项目根目录新建一个file文件起名为Dockerfile拷贝下面内容
FROM openjdk:8-jdk-alpine
VOLUME /tmp
ARG JAR_FILE
COPY ${JAR_FILE} app.jar
ENTRYPOINT ["java","-jar","/app.jar"]
4.开始构建
mvn install dockerfile:build
如果跳过测试下面这个命令
mvn install -Dmaven.test.skip=true dockerfile:build
如果在构建的过程中控制台报如下错误 证明本地的docker没有开启 开启本地docker
5.开启后我这边很快就构建完成了
6.查看刚刚构建完成的包 去你docker的控制台输入 docker images 查看
看到没这就是咱们刚刚构建的项目 名字是不是很熟悉 就是咱们项目中配置的那两项 好构建完成接着往下走
7.登录远程仓库 (我这里用的是我阿里仓库的私服仓库 公司应该都会有 有的使用 git 都一样的操作)
<1.>先登录阿里云仓库
这个密码是你自己开通阿里云镜像仓库时设置的密码 记住这个密码一定要是(镜像仓库设置的密码)那么我们来登录
出现这个标识登录成功 接着往下走
8.利用docker 打 tag
docker tag [ImageId] registry.cn-beijing.aliyuncs.com/david-depot/david-images:[镜像版本号]
这个 image id 就是刚刚你用docker images 这个命令查看到的信息值 复制这个值就可以了
镜像版本可以是服务的名称如下 注意点 david-images:这个后面一定不能有空格
docker tag 81bad8315779 registry.cn-beijing.aliyuncs.com/david-depot/david-images:config-server
tag打完了往下走
9.docker push 到远程仓库
docker push registry.cn-beijing.aliyuncs.com/david-depot/david-images:[镜像版本号]
这里这个版本号就是刚刚咱们打tag的版本号(冒号后面不能有空格)
docker push registry.cn-beijing.aliyuncs.com/david-depot/david-images:config-server
push 完成以后 接着往下走
10.查看自己的仓库是否有了刚刚那个镜像 ok刚刚那个config-server push上来了
11.pull镜像 (利用下面工具登录你们自己或公司的服务器) 登录远程仓库上面第7步 登录完成后输入pull的命令一般拉取会很快了
docker pull registry.cn-beijing.aliyuncs.com/david-depot/david-images:config-server
这样就从我们的私有仓库拉去到镜像了
12.docker启动部署项目
docker run -d --name config-server -p 9100:9100 81bad8315779
docker run - 运行一个容器
-d 后台运行
–name “xxx” 启动的服务设定名称
-p 端口映射
81bad8315779 服务的 IMAGES ID
13 查看启动日志
docker logs -f
14 阿里云安全组开放config-server端口
15 查看服务是否注册到注册中心(有config-server)
本篇结束 有遇到其他问题可以留言 会帮着处理
java永无止境