我的新书《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)