SpringBoot使用Docker并上传至DockerHub

本文介绍了如何使用SpringBoot构建Docker镜像,包括安装Docker、运行Docker容器、修改镜像标签、推送镜像至远程仓库以及在服务器上持久化运行。还涵盖了使用DockerCompose进行长期管理的实践方法。
摘要由CSDN通过智能技术生成

我的新书《Android App开发入门与实战》已于2020年8月由人民邮电出版社出版,欢迎购买。点击进入详情

1.系列文章

IDEA+SpringBoot+MyBatis Dynamic SQL搭建后台系统
SpringBoot集成Swagger的方法
将SpringBoot项目部署到Ubuntu20.0.4服务器上

2.构建Docker镜像的方式

我们可以使用SpringBoot自带的方式。
在这里插入图片描述
双击spring-boot:build-image即可。
或者运行命令:

mvn spring-boot:build-image

需要注意的是,java verison:

<properties>
    <java.version>11</java.version>
</properties>

否则会出现如下的报错:

Builder lifecycle 'creator' failed with status code 145

或者:

Builder lifecycle 'creator' failed with status code 51

Docker build成功后,后看到如下提示信息:

在这里插入图片描述

3 安装Docker

以Windows10为例,到Docker官网下载安装Docker Desktop。

4 查看Docker镜像

docker images

可以看到通过上面SpringBoot自带的方式构建的镜像。

5 本地运行Docker

docker run -p 8080:8080 -t demo:0.0.1

或者在Docker客户端里面直接点击运行:
在这里插入图片描述

6 修改Docker Tag

docker tag demo:0.0.1 ddnosh/demo:0.0.1

注意,ddnosh是Docker的用户名。
如果不改tag,会报错:

denied: requested access to the resource is denied

7 推送Docker镜像

首选确保是登录状态:

docker login

登录成功后push

docker push ddnosh/demo:0.0.1

或者直接在Docker客户端里Push:
在这里插入图片描述

8 查看远端Docker

进入docker hub: https://hub.docker.com/

在这里插入图片描述

9 远端server拉取Docker

docker pull ddnosh/demo:0.0.1

在这里插入图片描述

10 远端server运行Docker

docker run -p 8080:8080 -t ddnosh/demo:0.0.1

11 查看服务器上运行的Docker

docker ps

在这里插入图片描述

12 查看Docker的镜像

docker images

在这里插入图片描述

13 Docker长期运行

如果通过3.8运行docker镜像,那么在关闭Terminal的时候,镜像的运行也会停止。
我们希望docker镜像打开后能够一直在运行。
我们采用的方案是:Docker Compose

使用Docker Compose,我们需要一个"docker-compose.yml"文件。
docker-compose.yml文件模板如下:

version: '3'
services:
  spring-app:
    image: your-docker-image-name
    ports:
      - "8080:8080"

然后把这个文件放到服务器上,然后我们cd到这个文件的目录,运行如下命令:

docker-compose up

这将使用你构建的Docker镜像启动Spring Boot应用容器。

如果遇到这样的错误:

TypeError: kwargs_from_env() got an unexpected keyword argument 'ssl_version'

解决方案就是修改util.py文件:


 1. sudo nano ./usr/local/lib/python3.9/dist-packages/docker/utils/utils.py
 2. Finding: def kwargs_from_env(environment=None):(See file docker/utils/utils.py line 344)
 3. adding: def kwargs_from_env(environment=None, ssl_version=None)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值