第一部分:springboot工程打包
1. 在pom.xml的最后配置以下项目
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>2.1.7.RELEASE</version>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
2. 右键点击项目 run as -> maven install (前提是设置好项目的jdk)
3. 出现 BUILD SUCCESS 提示后 到前面提示的路径下即可看到打好的jar文件
第二部分: 创建Dockerfile镜像及实例
1. 目录管理: linux系统中 可创建统一目录为所有jar包创建镜像 公用同一个Dockerfile文件
每次上传新的jar镜像都去修改这个Dockerfile。 也可以为每个jar单独创建目录
目录下创建各自的Dockerfile
2. 以某个jar为例 假设叫docker-lucy.jar 首先在根目录下创建docker-lucy-build子目录。进入
子目录 在这里执行 vim Dockerfile 创建Dockerfile文件。 此处有2点需要注意:
(1) Dockerfile首字母要大写
(2)Dockerfile是一个没有扩展名的文件
3. 在Dockerfile中添加以下内容
FROM openjdk:8
COPY *.jar /app.jar
ENTRYPOINT ["java","-jar","/app.jar"]
4. 利用putty工具将springboot打好的jar上传到linux刚刚创建的docker-lucy-build目录下 保证jar
文件和Dockerfile在同一个目录
5. 执行如下命令构建镜像
docker build -t docker-lucy .
docker bulid 是打包命令-t 镜像加一个Tagdocker-lucy 自定义的镜像名字. 小数点表示当前目录,即Dockerfile所在目录
6. 执行docker images -a 查看已经创建的镜像
7. 执行如下命令为建好的镜像启动实例
docker run -d -p 3333:3333 --name docker-lucy-container docker-lucy
-d 是后台运行-p 8097:8097 端口映射 右面是springboot工程启动的端口 在容器内部 左面是宿主机对外端口--name 定义容器名字docker-lucy 以哪个镜像为基础运行容器
8. 执行 docker logs docker-lucy-container 查看容器是否顺利启动 没问题后执行下面命令测试服 务
curl localhost:3333/xxx
第三部分: 将自己的镜像通过阿里云上传下载
1. 登录阿里云个人镜像仓库管理界面:
https://cr.console.aliyun.com/cn-beijing/instances
2. 进入个人镜像管理界面 执行下面三步操作
(1) 设置仓库密码 (registry密码)
(2) 新建命名空间
(3) 在命名空间下 为要上传的镜像建立各自的镜像仓库
3. 回到linux系统 执行下面命令登录阿里云个人仓库
docker login --username=aliyun9758752338 registry.cn-beijing.aliyuncs.com
密码: 步骤2设置的密码
其中aliyun9758752338是系统自动生成的仓库用户名 每个人不一样
4. 执行下面2条命令 上传自己的镜像 如果网速慢 需要一些时间
docker tag [ImageId] registry.cn-beijing.aliyuncs.com/xxx_space/docker-xxx:1.0
docker push registry.cn-beijing.aliyuncs.com/xxx_space/docker-xxx:1.0
xxx_space是步骤2建立的命名空间
docker-xxx是步骤2建立的镜像仓库
1.0是镜像版本
5. 本地镜像删除 执行下面命令尝试下载刚刚上传的镜像
docker pull registry.cn-beijing.aliyuncs.com/xxx_space/docker-xxx:1.0