写在前面

最近,在研究如何使用Maven将SpringBoot项目打包成Docker镜像并发布到Harbor仓库,网上翻阅了很多博客和资料,发现大部分都是在复制粘贴别人的东西,没有经过实践的检验,根本解决不了问题,纯属扯淡。作为一个技术人,经过不断的研究和实践,终于实现了在Spring Tool Site中使用Maven将SpringBoot项目打包成Docker镜像,并将镜像文件上传到Harbor仓库。

注意:本文使用的SpringBoot开发环境是Spring Tool Site,IDEA开发环境对SpringBoot项目的打包操作和将Docker镜像上传到Harbor仓库操作相同,大家也可参考此文章进行实现。

一、系统环境

1.服务器环境

操作系统为:CentOS-8-x86_64-1905-dvd1.iso

2.开发环境

Windows10操作系统

二、服务器安装Docker环境

安装Docker环境

1.添加阿里云镜像

yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

2.安装containerd

dnf install https://mirrors.aliyun.com/docker-ce/linux/centos/7/x86_64/stable/Packages/containerd.io-1.2.13-3.1.el7.x86_64.rpm

3.安装Docker

yum install docker-ce docker-ce-cli

4.设置开机自启Docker并启动Docker

systemctl enable docker.service
systemctl start docker.service

5.查看Docker版本

[root@binghe ~]# docker version
Client: Docker Engine - Community
Version: 19.03.8
API version: 1.40
Go version: go1.12.17
Git commit: afacb8b
Built: Wed Mar 11 01:27:04 2020
OS/Arch: linux/amd64
Experimental: false Server: Docker Engine - Community
Engine:
Version: 19.03.8
API version: 1.40 (minimum version 1.12)
Go version: go1.12.17
Git commit: afacb8b
Built: Wed Mar 11 01:25:42 2020
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: 1.2.13
GitCommit: 7ad184331fa3e55e52b890ea95e65ba581ae3429
runc:
Version: 1.0.0-rc10
GitCommit: dc9208a3303feef5b3839f4323d9beb36df0a9dd
docker-init:
Version: 0.18.0
GitCommit: fec3683

也可以将阿里云Docker镜像仓库添加到/etc/docker/daemon.json文件中,如下所示。

{
"registry-mirrors": ["https://zz3sblpi.mirror.aliyuncs.com"]
}

安装docker-compose环境

1.下载docker-compose文件

curl -L https://github.com/docker/compose/releases/download/1.25.5/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose

2.为docker-compose文件赋予可执行权限

chmod a+x /usr/local/bin/docker-compose

3.查看docker-compose版本

[root@binghe ~]# docker-compose version
docker-compose version 1.25.5, build 8a1c60f6
docker-py version: 4.1.0
CPython version: 3.7.5
OpenSSL version: OpenSSL 1.1.0l 10 Sep 2019

三、服务器安装Harbor私有仓库

1.下载Harbor的离线安装版本

wget https://github.com/goharbor/harbor/releases/download/v1.10.2/harbor-offline-installer-v1.10.2.tgz

2.解压Harbor的安装包

tar -zxvf harbor-offline-installer-v1.10.2.tgz

解压成功后,会在服务器当前目录生成一个harbor目录。

3.修改Harbor的配置

注意:这里,我将Harbor的端口修改成了1180,如果不修改Harbor的端口,默认的端口是80。

(1)修改harbor.yml文件。

cd harbor
vim harbor.yml

修改的配置项如下所示。

hostname: 192.168.0.10
http:
port: 1180
harbor_admin_password: binghe123

(2)修改docker-compose.yml文件

vim docker-compose.yml

修改的配置项如下所示。

ports:
- 1180:80

(3)修改config.yml文件

cd common/config/registry
vim config.yml

修改的配置项如下所示。

realm: http://192.168.0.10:1180/service/token

(4)修改daemon.json文件

修改/etc/docker/daemon.json文件,没有的话就创建,在/etc/docker/daemon.json文件中添加如下内容。

[root@binghe~]# cat /etc/docker/daemon.json
{
"registry-mirrors": ["https://zz3sblpi.mirror.aliyuncs.com"],
"insecure-registries":["192.168.0.12:1180"]
}

也可以在服务器上使用 ip addr 命令查看本机所有的IP地址段,将其配置到/etc/docker/daemon.json文件中。这里,我配置后的文件内容如下所示。

{
"registry-mirrors": ["https://zz3sblpi.mirror.aliyuncs.com"],
"insecure-registries":["192.168.0.0/16","172.17.0.0/16", "172.18.0.0/16", "172.16.29.0/16"]
}

4.安装并启动harbor

配置完成后,输入如下命令即可安装并启动Harbor

[root@binghe harbor]# ./install.sh

5.登录Harbor并添加账户

安装成功后,在浏览器地址栏输入http://192.168.0.10:1180打开链接,如下图所示。

输入用户名admin和密码binghe123,登录系统,如下图所示

接下来,我们选择用户管理,添加一个管理员账户,为后续在Spring Tool Site中打包Docker镜像和上传Docker镜像做准备。添加账户的步骤如下所示。

此处填写的密码为Binghe123。

点击确定后,如下所示。

此时,账户binghe还不是管理员,此时选中binghe账户,点击“设置为管理员”。

此时,binghe账户就被设置为管理员了。到此,Harbor的安装就完成了。

如果安装Harbor后,大家需要修改Harbor的端口,首先按照修改Harbor的配置的步骤修改Harbor的端口配置,将配置项中的1180端口修改成你需要的端口。接下来,需要重启Docker和Harbor。

重启Docker

systemctl daemon-reload
systemctl restart docker.service

重启Harbor

[root@binghe harbor]# docker-compose down
Stopping harbor-log ... done
Removing nginx ... done
Removing harbor-portal ... done
Removing harbor-jobservice ... done
Removing harbor-core ... done
Removing redis ... done
Removing registry ... done
Removing registryctl ... done
Removing harbor-db ... done
Removing harbor-log ... done
Removing network harbor_harbor [root@binghe harbor]# ./prepare
prepare base dir is set to /mnt/harbor
Clearing the configuration file: /config/log/logrotate.conf
Clearing the configuration file: /config/nginx/nginx.conf
Clearing the configuration file: /config/core/env
Clearing the configuration file: /config/core/app.conf
Clearing the configuration file: /config/registry/root.crt
Clearing the configuration file: /config/registry/config.yml
Clearing the configuration file: /config/registryctl/env
Clearing the configuration file: /config/registryctl/config.yml
Clearing the configuration file: /config/db/env
Clearing the configuration file: /config/jobservice/env
Clearing the configuration file: /config/jobservice/config.yml
Generated configuration file: /config/log/logrotate.conf
Generated configuration file: /config/nginx/nginx.conf
Generated configuration file: /config/core/env
Generated configuration file: /config/core/app.conf
Generated configuration file: /config/registry/config.yml
Generated configuration file: /config/registryctl/env
Generated configuration file: /config/db/env
Generated configuration file: /config/jobservice/env
Generated configuration file: /config/jobservice/config.yml
loaded secret from file: /secret/keys/secretkey
Generated configuration file: /compose_location/docker-compose.yml
Clean up the input dir [root@binghe harbor]# docker-compose up -d
Creating network "harbor_harbor" with the default driver
Creating harbor-log ... done
Creating harbor-db ... done
Creating redis ... done
Creating registry ... done
Creating registryctl ... done
Creating harbor-core ... done
Creating harbor-jobservice ... done
Creating harbor-portal ... done
Creating nginx ... done [root@binghe harbor]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS

四、Windows系统安装并配置Docker

1.安装Docker

在Windows上安装Docker环境就比较简单了,到Docker官网https://www.docker.com/products/ 下载Docker Desktop Installer.exe安装包,直接双击安装即可。

2.修改docker下载的镜像存放到其他盘

(1)在D盘创建一个存放docker虚拟机的文件夹,如下面图中所示:

(2)创建好以后,找到桌面右下角的docker图标,在上面点右键,选择settings,打开docker的设置界面。



(3)然后在docker的设置界面中点击Resources选项下的ADVANCED设置选项,即高级设置。

(4)在高级设置中,我们可以看到有一个disk image location,即硬盘镜像的存放位置。默认是在C盘,点击旁边的browse按钮

(5)这个时候会弹出文件夹选择窗口,依次找到此电脑->D盘->docker文件夹,然后点击确定。然后回到设置界面,会看到镜像文件的位置变成了我们设置的文件夹。点击设置界面右下角的apply应用设置。

(6)选择完成后,点击右下角的Apple&Restart按钮重启Docker。

(7)重启完成后,我们打开D盘的docker下的DockerDesktop文件夹,会发现docker的虚拟机文件已经转移到了这个目录。如下面图中所示。在前面的经验中我们已经说过,在windows平台上,docker是通过hyper-v打开一个docker虚拟机来提供docker服务。因此随着你下载的镜像越多,这个docker镜像文件会越来越大。因此你一定要及时清理不使用的docker虚拟机里的镜像。

3.打开本地Docker的2375端口

打开方式:右击右下角的小鲸鱼(我用的是docker for window),点击settings如下图

4.配置Docker

(1)在cmd命令行输入如下ip config命令来查看本地的IP地址,如下所示。

(2)配置Docker

选择Docker Engine选项,并在右侧的文本框中输入如下信息。

{
"registry-mirrors": [
"https://zz3sblpi.mirror.aliyuncs.com"
],
"insecure-registries": [
"192.168.0.0/16",
"172.18.14.0/16"
],
"debug": true,
"experimental": false
}

如下图所示。

五、配置Harbor

使用binghe账号和密码Binghe123登录Harbor,并新建一个test项目。

此时,在Harbor中的项目就创建成功了。

六、SpringBoot项目配置Docker

创建SpringBoot项目比较简单,我这里就不再赘述如何创建SpringBoot项目,我们直接从SpringBoot项目配置Docker开始说。

1.创建Dockerfile文件

在需要运行的maven模块(SpringBoot启动类所在的模块)根目录下创建Dockerfile文件,内容如下所示。

FROM java:8
MAINTAINER binghe
VOLUME /tmp
ADD target/*jar app.jar
ENTRYPOINT [ "java", "-Djava.security.egd=file:/dev/./urandom", "-jar", "/app.jar" ]

2.修改pom.xml文件

在需要运行的maven模块(SpringBoot启动类所在的模块)的pom.xml中增加以下配置。

<properties>
<docker.repostory>192.168.0.10:1180</docker.repostory>
<docker.registry.name>test</docker.registry.name>
<docker.image.tag>1.0.1</docker.image.tag>
<docker.maven.plugin.version>1.4.10</docker.maven.plugin.version>
</properties> <build>
<finalName>binghe-starter</finalName>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<!-- docker的maven插件,官网:https://github.com/spotify/docker‐maven‐plugin -->
<!-- Dockerfile maven plugin -->
<plugin>
<groupId>com.spotify</groupId>
<artifactId>dockerfile-maven-plugin</artifactId>
<version>${docker.maven.plugin.version}</version>
<executions>
<execution>
<id>default</id>
<goals>
<!--如果package时不想用docker打包,就注释掉这个goal-->
<goal>build</goal>
<goal>push</goal>
</goals>
</execution>
</executions>
<configuration>
<contextDirectory>${project.basedir}</contextDirectory>
<!-- harbor 仓库用户名及密码-->
<useMavenSettingsForAuth>useMavenSettingsForAuth>true</useMavenSettingsForAuth>
<repository>${docker.repostory}/${docker.registry.name}/${project.artifactId}</repository>
<tag>${docker.image.tag}</tag>
<buildArgs>
<JAR_FILE>target/${project.build.finalName}.jar</JAR_FILE>
</buildArgs>
</configuration>
</plugin> </plugins> <resources>
<!-- 指定 src/main/resources下所有文件及文件夹为资源文件 -->
<resource>
<directory>src/main/resources</directory>
<targetPath>${project.build.directory}/classes</targetPath>
<includes>
<include>**/*</include>
</includes>
<filtering>true</filtering>
</resource>
</resources>
</build>

其中,几个重要的参数说明如下所示。

  • docker.repostory:Harbor仓库的地址,ip:port
  • docker.registry.name:上传的Docker镜像前缀,此前缀一定要和Harbor中的项目名称一致,表示打包后的Docker镜像会上传到Harbor的哪个项目中(重点,不然会报错)。
  • docker.image.tag:Docker镜像的标签,也就是版本。
  • docker.maven.plugin.version:Docker Maven插件的版本。

七、配置Maven

首先,我们查看下Spring Tool Site中配置的Maven,如下所示。

在Maven的setting.xml文件中添加如下配置。

<!--配置权限,使用默认用户-->
<servers>
<server>
<id>192.168.0.10:1180</id>
<username>binghe</username>
<password>Binghe123</password>
</server>
</servers>

其中,id就是Harbor仓库所在的服务器IP地址和端口号,username就是Harbor的用户名,password就是密码。这里我使用的是binghe账户。

八、配置Docker的config.json文件

注意:这里是个重点,网上很多文章中没有配置config.json文件,导致将Docker镜像push到Harbor仓库时抛出如下异常。

denied: requested access to the resource is denied

config.json文件在我电脑上所在的目录为C:\Users\binghe\.docker。也就是说,它所在的目录为C:\Users目录下的当前用户目录下的.docker目录下。如下所示。

我们打开config.json文件,将文件中的auths部分修改成如下所示。

"auths": {
"192.168.0.10:1180": {"username":"itence_harbor", "password":"Itence123"}
}

修改后的文件整体内容如下所示。

{
"auths": {
"192.168.0.10:1180": {"username":"itence_harbor", "password":"Itence123"}
},
"HttpHeaders": {
"User-Agent": "Docker-Client/19.03.8 (windows)"
},
"credsStore": "desktop",
"stackOrchestrator": "swarm"
}

注意:如果不存在config.json文件,就在相应的目录下创建config.json文件,将上述配置写入config.json文件中。

九、运行测试

1.构建Docker镜像

在构建Docker镜像之前,我们先来查看下本地Docker中的镜像,如下所示。

可以看到,此时本地Docker中没有任何镜像。

接下来,在Spring Tool Site中,配置Maven Build,输入如下命令。

clean install -Dmaven.test.skip=true

如下所示。

接下来,右键Maven的pom.xml文件,点击Maven Build开始构建Docker镜像,构建成功后命令行会输出如下信息。

[INFO] Image will be built as 192.168.0.10:1180/test/binghe-starter:1.0.1
[INFO]
[INFO] Step 1/5 : FROM java:8
[INFO]
[INFO] Pulling from library/java
[INFO] Image 5040bd298390: Pulling fs layer
[INFO] Image fce5728aad85: Pulling fs layer
[INFO] Image 76610ec20bf5: Pulling fs layer
[INFO] Image 60170fec2151: Pulling fs layer
[INFO] Image e98f73de8f0d: Pulling fs layer
[INFO] Image 11f7af24ed9c: Pulling fs layer
[INFO] Image 49e2d6393f32: Pulling fs layer
[INFO] Image bb9cdec9c7f3: Pulling fs layer
[INFO] Image 60170fec2151: Waiting
[INFO] Image e98f73de8f0d: Waiting
[INFO] Image 11f7af24ed9c: Waiting
[INFO] Image 49e2d6393f32: Waiting
[INFO] Image bb9cdec9c7f3: Waiting
[INFO] Image fce5728aad85: Downloading
[INFO] Image 76610ec20bf5: Downloading
[INFO] Image 5040bd298390: Downloading
[INFO] Image fce5728aad85: Verifying Checksum
[INFO] Image fce5728aad85: Download complete
[INFO] Image 76610ec20bf5: Verifying Checksum
[INFO] Image 76610ec20bf5: Download complete
[INFO] Image 60170fec2151: Downloading
[INFO] Image 60170fec2151: Verifying Checksum
[INFO] Image 60170fec2151: Download complete
[INFO] Image e98f73de8f0d: Downloading
[INFO] Image e98f73de8f0d: Verifying Checksum
[INFO] Image e98f73de8f0d: Download complete
[INFO] Image 5040bd298390: Verifying Checksum
[INFO] Image 5040bd298390: Download complete
[INFO] Image 5040bd298390: Extracting
[INFO] Image 11f7af24ed9c: Downloading
[INFO] Image 11f7af24ed9c: Verifying Checksum
[INFO] Image 11f7af24ed9c: Download complete
[INFO] Image bb9cdec9c7f3: Downloading
[INFO] Image bb9cdec9c7f3: Verifying Checksum
[INFO] Image bb9cdec9c7f3: Download complete
[INFO] Image 49e2d6393f32: Downloading
[INFO] Image 5040bd298390: Pull complete
[INFO] Image fce5728aad85: Extracting
[INFO] Image fce5728aad85: Pull complete
[INFO] Image 76610ec20bf5: Extracting
[INFO] Image 76610ec20bf5: Pull complete
[INFO] Image 60170fec2151: Extracting
[INFO] Image 60170fec2151: Pull complete
[INFO] Image e98f73de8f0d: Extracting
[INFO] Image e98f73de8f0d: Pull complete
[INFO] Image 11f7af24ed9c: Extracting
[INFO] Image 11f7af24ed9c: Pull complete
[INFO] Image 49e2d6393f32: Verifying Checksum
[INFO] Image 49e2d6393f32: Download complete
[INFO] Image 49e2d6393f32: Extracting
[INFO] Image 49e2d6393f32: Pull complete
[INFO] Image bb9cdec9c7f3: Extracting
[INFO] Image bb9cdec9c7f3: Pull complete
[INFO] Digest: sha256:c1ff613e8ba25833d2e1940da0940c3824f03f802c449f3d1815a66b7f8c0e9d
[INFO] Status: Downloaded newer image for java:8
[INFO] ---> d23bdf5b1b1b
[INFO] Step 2/5 : MAINTAINER binghe
[INFO]
[INFO] ---> Running in 5e56a3994a51
[INFO] Removing intermediate container 5e56a3994a51
[INFO] ---> 88d9d9c903cf
[INFO] Step 3/5 : VOLUME /tmp
[INFO]
[INFO] ---> Running in 9a2a476fcb96
[INFO] Removing intermediate container 9a2a476fcb96
[INFO] ---> a4590174575b
[INFO] Step 4/5 : ADD target/*jar app.jar
[INFO]
[INFO] ---> e9de2bd74c98
[INFO] Step 5/5 : ENTRYPOINT [ "java", "-Djava.security.egd=file:/dev/./urandom", "-jar", "/app.jar" ]
[INFO]
[INFO] ---> Running in 13219282bd45
[INFO] Removing intermediate container 13219282bd45
[INFO] ---> f6af061b2f2f
[INFO] [Warning] One or more build-args [JAR_FILE] were not consumed
[INFO] Successfully built f6af061b2f2f
[INFO] Successfully tagged 192.168.0.10:1180/test/binghe-starter:1.0.1
[INFO]
[INFO] Detected build of image with id f6af061b2f2f
[INFO] Building jar: D:\Workspaces\binghe-starter\target\binghe-starter-docker-info.jar
[INFO] Successfully built 192.168.0.10:1180/test/binghe-starter:1.0.1
[INFO]
[INFO] --- maven-install-plugin:2.5.2:install (default-install) @ binghe-starter ---
[INFO] Installing D:\Workspaces\binghe-starter\target\binghe-starter.jar to D:\Maven_Repository\.m2\repository\com\binghe\binghe-starter\1.0.0-SNAPSHOT\binghe-starter-1.0.0-SNAPSHOT.jar
[INFO] Installing D:\Workspaces\binghe-starter\pom.xml to D:\Maven_Repository\.m2\repository\com\binghe\binghe-starter\1.0.0-SNAPSHOT\binghe-starter-1.0.0-SNAPSHOT.pom
[INFO] Installing D:\Workspaces\\binghe-starter\target\binghe-starter-docker-info.jar to D:\Maven_Repository\.m2\repository\com\binghe\binghe-starter\1.0.0-SNAPSHOT\binghe-starter-1.0.0-SNAPSHOT-docker-info.jar
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 01:55 min
[INFO] Finished at: 2020-04-30T12:23:46+08:00
[INFO] ------------------------------------------------------------------------

接下来,再次查看下本地Docker中的镜像,如下所示。

C:\Users\binghe>docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
192.168.0.10:1180/test/binghe-starter 1.0.1 f6af061b2f2f 4 minutes ago 720MB
java 8 d23bdf5b1b1b 3 years ago 643MB

接下来,我们可以输入如下命令运行Docker镜像。

docker run -d -p 8088:8088 f6af061b2f2f

接下来,输入命令docker ps 查看启动的容器,如下所示。

可以看到,使用Spring Tool Site中的Maven构建的Docker镜像运行成功。

2.将Docker镜像推送到Harbor仓库

在Spring Tool Site中将新增一项Maven Build,配置的命令如下所示。

dockerfile:push

接下来,右键pom.xml文件,选择Maven Build,并选择dockerfile:push选项,如下所示。

点击OK按钮,开始推送Docker镜像到Harbor仓库。

推送成功后,命令行会输出如下信息。

[INFO] --- dockerfile-maven-plugin:1.4.10:push (default-cli) @ binghe-starter ---
[INFO] The push refers to repository [192.168.0.10:1180/test/binghe-starter]
[INFO] Image b5a229480eb5: Preparing
[INFO] Image 35c20f26d188: Preparing
[INFO] Image c3fe59dd9556: Preparing
[INFO] Image 6ed1a81ba5b6: Preparing
[INFO] Image a3483ce177ce: Preparing
[INFO] Image ce6c8756685b: Preparing
[INFO] Image 30339f20ced0: Preparing
[INFO] Image 0eb22bfb707d: Preparing
[INFO] Image a2ae92ffcd29: Preparing
[INFO] Image ce6c8756685b: Waiting
[INFO] Image 30339f20ced0: Waiting
[INFO] Image 0eb22bfb707d: Waiting
[INFO] Image a2ae92ffcd29: Waiting
[INFO] Image a3483ce177ce: Layer already exists
[INFO] Image 6ed1a81ba5b6: Layer already exists
[INFO] Image 35c20f26d188: Layer already exists
[INFO] Image c3fe59dd9556: Layer already exists
[INFO] Image a2ae92ffcd29: Layer already exists
[INFO] Image 30339f20ced0: Layer already exists
[INFO] Image 0eb22bfb707d: Layer already exists
[INFO] Image ce6c8756685b: Layer already exists
[INFO] Image b5a229480eb5: Pushing
[INFO] Image b5a229480eb5: Pushed
[INFO] 1.0.1: digest: sha256:174a170f229dd5a76fdf5a6fe7001a0066578334ada03edae699f4fb9537c3c5 size: 2212
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 31.002 s
[INFO] Finished at: 2020-04-30T13:21:32+08:00
[INFO] ------------------------------------------------------------------------

此时,我们在Harbor的test项目下会发现多了一个镜像,如下所示。

十、特别说明

笔者是在Spring Tool Site中对SpringBoot项目构建Docker镜像,并将Docker镜像推送到Harbor仓库,这样方式同样适用于IDEA环境,笔者不再赘述。

如果是使用命令行构建并推送Docker镜像,需要在命令行登录Harbor,命令如下。

docker login 192.168.0.10:1180
Username:binghe
password:Binghe123

接下来,在命令行输入如下命令构建Docker镜像。

mvn clean install -Dmaven.test.skip=true

将Docker镜像推送到Harbor仓库。

mvn dockerfile:push

也可以使用docker命令将Docker镜像推送到Harbor仓库,如下所示。

docker push 192.168.0.10:1180/test/binghe-starter:1.0.1

使用docker命令将Docker镜像拉取到本地,如下所示。

docker pull 192.168.0.10:1180/test/binghe-starter:1.0.1

写在最后

如果觉得文章对你有点帮助,请微信搜索并关注「 冰河技术 」微信公众号,跟冰河学习各种编程技术。

【Docker】Maven打包SpringBoot项目成Docker镜像并上传到Harbor仓库(Eclipse、STS、IDEA、Maven通用)的更多相关文章

  1. mac和linux下使用Docker,部署SpringBoot项目到docker

    主要是看一下如何在linux及mac上安装docker,创建docker镜像,部署SpringBoot项目到docker,并借助于DaoCloud进行docker镜像下载加速等. 我用的电脑是mac, ...

  2. 【docker】将Java jar文件生成镜像、上传镜像并生成镜像压缩文件

    概述 将Springboot的web服务打包成Jar包后,自动化脚本将jar打包成镜像.上传镜像.并生成镜像的压缩文件: Dockerfile FROM 10.254.9.21/library/ora ...

  3. maven打包springboot项目的插件配置概览

    jar包的术语背景: normal jar: 普通的jar,用于项目依赖引入,不能通过java -jar xx.jar执行,一般不包含其它依赖的jar包. fat jar: 也叫做uber jar,是 ...

  4. Jenkins 集成Maven打包SpringBoot项目并自动部署到Tomcat服务器

    提前条件: 1.在Jenkins服务器上安装Git.JDK和Maven 2.准备另一台服务器并安装Tomcat 3.Gitlab服务器 4.Gitlab仓库中上传SpringBoot项目代码 第一步, ...

  5. SpringBoot项目打成jar包后上传文件到服务器 目录与jar包同级问题

    看标题好像很简单的样子,但是针对使用jar包发布SpringBoot项目就不一样了.当你使用tomcat发布项目的时候,上传文件存放会变得非常简单,因为你可以随意操作项目路径下的资源.但是当你使用Sp ...

  6. Eclipse上传Git远程仓库,并且增加Maven Dependencies

    前言: 遇见问题了,公司一台电脑,家里一台电脑,当有项目在进行的时候,又不想把电脑背来背去的,就像一个人玩单机,这个时候GIT就可以帮你解决这个问题.当GIT准备就绪的时候,新的问题来了git下载下载 ...

  7. 使用maven 打包springboot项目步骤以及所遇到的问题

    1.首先必须确保java和maven是安装好的,并且环境变量配置正确 2.接着可以看一下我们项目中的pom.xml中的以下配置 packaging那里很关键,表示我们打包项目的类型,可以为jar 也可 ...

  8. Maven打包Web项目成war包——4

    1. 需要安装maven 的war插件支持 在pom.xml里面配置war插件       2. 运行命令: mvn clean package      3.部署到Tomcat下面发布,并访问!

  9. jenkins构建docker镜像上传到harbor并发布到kubernetes

    很早之前写过一篇jenkins集成docker的文章,使用的是CloudBees Docker Build and Publish plugin插件.这篇文章是直接使用shell脚本做的,主要是这次有 ...

随机推荐

  1. Docker系列(13)- 部署es+kibana

    部署elasticsearch # es 暴露的端口很多 # es 十分的消耗内存 # es 的数据一帮需要放置到安全目录!通过挂载实现 # DockerHub上安装文档,其中 --net somen ...

  2. 一生挚友redo log、binlog《死磕MySQL系列 二》

    系列文章 原来一条select语句在MySQL是这样执行的<死磕MySQL系列 一> 一生挚友redo log.binlog<死磕MySQL系列 二> 前言 咔咔闲谈 上期根据 ...

  3. centos7.5 部署 lopendap

    一.LDAP究竟是什么? LDAP是轻量目录访问协议,英文全称是Lightweight Directory Access Protocol,一般都简称为LDAP.它是基于X.500标准的,但是简单多了 ...

  4. php文件加密(screw方式)

    1.上传已经生成好的执行文件. 2.上传扩展文件到目录: /usr/lib64/php/modules 3.上传配置文件到目录: /etc/php.d 4.执行 ./screw a.php 生成加密后 ...

  5. 定要过python二级 选择第3套

    1 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. . 13. 14. 15. 16. 17. (1)说明了一个问题 所谓的方向是从左到右还是从右到左  是看的是步长  步长的 ...

  6. CF960G-Bandit Blues【第一类斯特林数,分治,NTT】

    正题 题目链接:https://www.luogu.com.cn/problem/CF960G 题目大意 求有多少个长度为\(n\)的排列,使得有\(A\)个前缀最大值和\(B\)个后缀最大值. \( ...

  7. P5325-[模板]Min_25筛

    正题 题目链接:https://www.luogu.com.cn/problem/P5325 题目大意 定义一个积性函数满足\(f(p^k)=p^k(p^k-1)\) 求\(\sum_{i=1}^nf ...

  8. 这是我见过最简单的博客文只有一张图,Python基础10分钟学完

  9. div 可编辑--获取光标位置插入元素

    <!DOCTYPE html> <html> <head>     <meta http-equiv="Content-Language" ...

  10. 智汀家庭云-开发指南Golang:设备场景

    场景是指通过SA实现设备联动.例如,自动检测今天的天气情况,今天无雨,定时智能音箱播放浇花提醒,并且播报今天的天气情况. 根据自身需求,把多种控制并发的事情编辑成一个场景,并命名,可以通过场景控制很多 ...