写在前面

最近,在研究如何使用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中增加以下配置。

192.168.0.10:1180

test

1.0.1

1.4.10

binghe-starter

org.springframework.boot

spring-boot-maven-plugin

com.spotify

dockerfile-maven-plugin

${docker.maven.plugin.version}

default

build

push

${project.basedir}

useMavenSettingsForAuth>true

${docker.repostory}/${docker.registry.name}/${project.artifactId}

${docker.image.tag}

target/${project.build.finalName}.jar

src/main/resources

${project.build.directory}/classes

**/*

true

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

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文件中添加如下配置。

192.168.0.10:1180

binghe

Binghe123

其中,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 eclipse打包_【Docker】Maven打包SpringBoot项目成Docker镜像并上传到Harbor仓库(Eclipse、STS、IDEA、Maven通用)...相关推荐

  1. 【SpringBoot项目实战】图片压缩包上传、解压、存储等等一套流程教学

    [SpringBoot项目实战]图片压缩包上传.解压.存储等等一套流程教学 前言 一.压缩包上传 1.接口实现 2.获取压缩包的文件名和文件路径 二.压缩包解压并保存 1.处理压缩包文件方法 解压缩步 ...

  2. jenkins+maven+docker java项目编译、打包、构建镜像、上传私有仓库、web容器部署

    本环境非常简单,主要实现如下流程功能 员工通过eclipse提交java代码---gitlab更新代码----jenkins通过maven编译打包----生成war包----制作docker镜像并上传 ...

  3. springboot项目打包为docker镜像并上传nexus私服

    springboot项目docker打包镜像上传Nexus私服 1.springboot项目打包为docker镜像并上传nexus私服 1.0. 必要条件 1.1.开启docker远程访问 1.2.配 ...

  4. 使用Maven插件构建SpringBoot项目,生成Docker镜像push到DockerHub上

    一个用于构建和推送Docker镜像的Maven插件. 使用Maven插件构建Docker镜像,将Docker镜像push到DockerHub上,或者私有仓库,上一篇文章是手写Dockerfile,这篇 ...

  5. springboot项目集成docker

    文章目录 一.docker常用命令 0.拉取镜像到本地仓库 1.查看所有镜像 2.创建一个新的容器并运行,返回的是容器的ID -- CONTAINER ID: 3.查看运行中的docker实例 4.查 ...

  6. SpringBoot 项目构建 Docker 镜像调优实践

    点击上方"Java知音",选择"置顶公众号" 技术文章第一时间送达! 作者:超级小豆丁 http://www.mydlq.club/article/16/ PS ...

  7. docker简介和安装(阿里云加速)以及Springboot项目部署docker,实现局域网下同时访问项目(详细过程)

    文章目录 关于Docker: Docker简介 Docker优势 Docker的基本组成 Docker安装: Springboot项目部署到Docker 实现局域网内多台电脑可以访问 关于Docker ...

  8. Docker 部署 SpringBoot 项目整合 Redis 镜像做访问计数Demo

    Docker 部署SpringBoot项目整合 Redis 镜像做访问计数Demo 最终效果如下 大概就几个步骤 1.安装 Docker CE 2.运行 Redis 镜像 3.Java 环境准备 4. ...

  9. Docker系列06—基于容器制作镜像并上传到Docker Registry

    Docker系列06-基于容器制作镜像并上传到Docker Registry 1.制作镜像 1.1 镜像的生成途径 基于容器制作 dockerfile,docker build 本篇主要详细讲解基于容 ...

最新文章

  1. 初识java类的接口实现
  2. NanoPlot:三代纳米孔测序数据质量评估
  3. ISLR_Power
  4. 一步一步学习开发BPM工作流系统--------(一)为什么要开发工作流系统
  5. Three.js中引入dat.gui库实现界面组件控制动画速度变量
  6. 「Python」在虚拟环境中使用pip
  7. Flex与.NET互操作(八):使用FluorineFx网关实现远程访问
  8. 2016年工作总结和计划
  9. 【动态规划】城市交通
  10. Linux环境下创建运行.java文件
  11. 【高级】小程序 - 腾讯云 - wafer - PHP - 数据库接口的应用和研究 - 02 - DB::select - 正确的接口写法 - 包括布尔判断
  12. 关于php的函数,总结关于PHP文件函数有哪些
  13. 推荐staruml和最近一本不错的UML小册子
  14. linux怎么开启iis管理员权限,为每个站点的IIS设置权限
  15. 15复变函数的积分(一)
  16. 微信小程序页面实现防抖
  17. springboot如何访问html页面,Springboot访问html页面的教程详解
  18. 郑捷《机器学习算法原理与编程实践》学习笔记(第五章 梯度寻优)5.2 Logistic梯度下降法...
  19. 小米路由器4A,(R4A千兆版)刷openwrt系统(Linux的一种)
  20. Altium Designer 10 下载和安装破解教程

热门文章

  1. 导航英语专业词汇——不停更新
  2. Preference node org.eclipse.wst.validation 解决方法
  3. csdn公开文章改私密
  4. npm install下载包的时候报4048rename的错误
  5. Blender中文场景概念原画创作教程
  6. 中国计量大学计算机专业在哪个校区,中国计量大学有几个校区及校区地址 哪个校区最好...
  7. 碧蓝航线服务器维护2020,《碧蓝航线》2020维护公告(5月14日10时)
  8. Win10下的Python环境配置
  9. 电脑中毒了老是自动安装软件怎么办
  10. 农民伯伯2009年夜总结