GVKun编程网logo

【Docker实战之入门】Dockerfile详细分析:构建docker镜像(1)基础镜像centos7

15

在本文中,我们将详细介绍【Docker实战之入门】Dockerfile详细分析:构建docker镜像的各个方面,并为您提供关于1基础镜像centos7的相关解答,同时,我们也将为您带来关于docker

在本文中,我们将详细介绍【Docker实战之入门】Dockerfile详细分析:构建docker镜像的各个方面,并为您提供关于1基础镜像centos7的相关解答,同时,我们也将为您带来关于docker history 查看docker镜像构建过程 还原dockerfile 查看启动参数、Docker | docker实战(三):使用Docker镜像(读书笔记)、docker(六) 使用docker-maven-plugin插件构建docker镜像、docker(六) 使用docker-maven-plugin插件构建docker镜像(已过时)的有用知识。

本文目录一览:

【Docker实战之入门】Dockerfile详细分析:构建docker镜像(1)基础镜像centos7

【Docker实战之入门】Dockerfile详细分析:构建docker镜像(1)基础镜像centos7

Dockerfile

Docker是软件工业上的集装箱技术。

通过以下文件制作Docker镜像

[root@Optimus docker-training]# cd centos7/
[root@Optimus centos7]# ls
aliyun-epel.repo  aliyun-mirror.repo  Dockerfile  supervisord.conf 

Dockerfile 自动构建docker镜像的配置文件,类似于Linux下shell命令。

[root@Optimus centos7]# vim Dockerfile 

MAINTAINER Carson,C.J.Zeong zcy@nicescale.com

DOCKER-VERSION 1.6.2

Dockerizing CentOS7: Dockerfile for building CentOS images

FROM centos:centos7.1.1503
MAINTAINER Carson,C.J.Zeong zcy@nicescale.com

ENV TZ "Asia/Shanghai"
ENV TERM xterm

ADD aliyun-mirror.repo /etc/yum.repos.d/CentOS-Base.repo
ADD aliyun-epel.repo /etc/yum.repos.d/epel.repo

RUN yum install -y curl wget tar bzip2 unzip vim-enhanced passwd sudo yum-utils hostname net-tools rsync man && \
yum install -y gcc gcc-c++ git make automake cmake patch logrotate python-devel libpng-devel libjpeg-devel && \
yum install -y --enablerepo=epel pwgen python-pip && \
yum clean all

RUN pip install supervisor
ADD supervisord.conf /etc/supervisord.conf

RUN mkdir -p /etc/supervisor.conf.d && \
mkdir -p /var/log/supervisor

EXPOSE 22

ENTRYPOINT ["/usr/bin/supervisord","-n","-c","/etc/supervisord.conf"]

[FROM]指令指定基础镜像(副镜像)centos:centos7.1.1503.

[MAINTAINER]说明docker镜像的维护者。

[ENV](environment环境)这里设置了时区的环境变量TZ "Asia/Shanghai",环境变量可以多个。

[ADD] 在Dockerfile中有两条指令可以进行copy文件,一个是ADD,一个是copY。都可以复制本地文件到container中。
ADD比copY多两个功能:

1. 可以ADD一个在WebServer上的文件,在ADD后面aliyun-mirror.repo处直接写上链接地址,即可把文件copy到container(/etc/yum.repos.d/CentOS-Base.repo)里面。
2. 解压:有一个压缩包,不用进入到container中运行tar命令手动解压,用ADD命令可以自动解压。

[RUN] 指令后面可以写任何一条命令,RUN会将该命令放到Linux Shell下去执行。在这里,RUN指令用来安装一些基础的工具和软件。
在Dockerfile build docker镜像的时候,每执行一条指令,都会生成docker镜像的一层(分层layer技术),最后生成的镜像由很多个layer组合而成。

[RUN pip install supervisor] 在制作docker镜像的时候,会考虑到制作完成后能运行一个什么样的容器,如运行一个PHP服务或者Linux服务。那么,此时需要一个进程管理工具supervisor来管理进程。运行单个进程可以不用supervisor。

[ADD supervisord.conf /etc/supervisord.conf] 添加supervisor的配置文件到/etc目录下。

[RUN mkdir -p /etc/supervisor.conf.d]创建supervisor.conf.d目录,在这里存放启动其他服务的配置文件。/var/log/supervisor是存放supervisor的日志目录。

[EXPOSE 22] 比如container想暴露22端口给宿主机,宿主机会拿一个端口与container的22端口去映射,如2222端口号,那么可以使用服务器的IP地址,连接的时候端口号是2222,就可以连接到container(docker容器)里面。

[ENTRYPOINT] 在dockerfile中只有最后一条ENTRYPOINT会生效。container每次启动的时候,都会执行该命令。/usr/bin/supervisord","/etc/supervisord.conf开启supervisor服务,加载主要的配置文件。

使用dockerfile生成docker镜像

docker build

给要构建的docker镜像起一个名字

docker build -t   

docker镜像完整的命名规则

docker build -t registry_url/namespace/csphere/centos:7.1   

版本号

centos:版本号

若不写版本号,则会自动加上latest标签默认为 centos:latest

指定dockerfile

docker build -t csphere/centos:7.1 .  

若dockerfile在当前目录下,则使用 .来指定;否则使用相对路径/path.

查看镜像

docker images   

可以查看本地有哪些镜像,镜像的名字REPOSTORY、TAG、IMAGE ID、创建时间CREATED、镜像大小VIRTUA.

生成docker容器

docker run

通过以上创建好的docker镜像,执行run指令可生成docker容器。(此时退出/centos7目录,回到根目录下)

查看run参数

docker help run

查看run有哪些参数

交互式模

docker run -it

启动docker容器container时 是交互式模式,把container启动到前台。

后端启动

docker run -d 

把container在后端启动,启动后,返回一个container的ID号。

端口映射-P

docker run -d -P 2222:222  

在dockerfile中有一个指令EXPOSE 22,暴露出22号端口。在前端,宿主机会分配一个没有使用的端口号,如2222,来进行端口映射。那么,可以用2222端口连接container。如果有服务器需要维护重启时,container也会重启,此时2222端口会发生变化,仍然会随机拿一个没有使用的端口号来和22号端口做端口映射。

端口映射-p

docker run -d -p 2222:22   

不管是宿主机重启还是container重启,2222端口一直给这个container。除非该container删掉后,2222端口号会被分配给其他container使用。

容器名

docker run -d -p 2222:22 --name base 

在通过docker镜像生成docker容器时,--name用于给容器起名字,这里起名为base,方便以后查找。

指定docker镜像

docker run -d -p 2222:22 --name base csphere/centos:7.1 

指明docker镜像,这里使用csphere/centos:7.1 docker镜像生成叫做base的docker容器。返回container的长ID号,如2d36dbfc72a045725b845771bdeb8ff0acc0845eb7d39d09e5f8025237b0d9c9。

查看container

docker ps -a  

不加参数时,默认只会显示处于running下的container。-a可查看退出状态下/非up状况下的container等当前本地所有的container。

docker history 查看docker镜像构建过程 还原dockerfile 查看启动参数

docker history 查看docker镜像构建过程 还原dockerfile 查看启动参数

介绍:

~]# docker history --help
Usage:  docker history [OPTIONS] IMAGE
Show the history of an image
Options:
      --format string   Pretty-print images using a Go template
      --help            Print usage
  -H,--human           Print sizes and dates in human readable format (default true)
      --no-trunc        Don't truncate output
  -q,--quiet           Only show numeric IDs

示例:

~]# docker history kubeguide/tomcat-app:v1
IMAGE               CREATED             CREATED BY                                      SIZE                COMMENT
a29e200a18e9        2 years ago         /bin/sh -c #(nop) ADD dir:c5c3bddef49cbc9f...   992kB               
<missing>           2 years ago         /bin/sh -c #(nop) MAINTAINER bestme <bestm...   0B                  
<missing>           2 years ago         /bin/sh -c #(nop) CMD ["catalina.sh" "run"]     0B                  
<missing>           2 years ago         /bin/sh -c #(nop) EXPOSE 8080/tcp               0B                  
<missing>           2 years ago         /bin/sh -c set -e  && nativeLines="$(catal...   0B                  
<missing>           2 years ago         /bin/sh -c set -x   && curl -fSL "$TOMCAT_...   16.6MB              
<missing>           2 years ago         /bin/sh -c #(nop) ENV TOMCAT_TGZ_URL=https...   0B                  
<missing>           2 years ago         /bin/sh -c #(nop) ENV TOMCAT_VERSION=8.0.35     0B                  
<missing>           2 years ago         /bin/sh -c #(nop) ENV TOMCAT_MAJOR=8            0B                  
<missing>           2 years ago         /bin/sh -c set -ex  && for key in   05AB33...   114kB               
<missing>           2 years ago         /bin/sh -c apt-get update && apt-get insta...   7.18MB              
<missing>           2 years ago         /bin/sh -c {   echo 'deb http://httpredir....   172B                
<missing>           2 years ago         /bin/sh -c #(nop) ENV OPENSSL_VERSION=1.0....   0B                  
<missing>           2 years ago         /bin/sh -c #(nop) workdir /usr/local/tomcat     0B                  
<missing>           2 years ago         /bin/sh -c mkdir -p "$CATALINA_HOME"            0B                  
<missing>           2 years ago         /bin/sh -c #(nop) ENV PATH=/usr/local/tomc...   0B                  
<missing>           2 years ago         /bin/sh -c #(nop) ENV CATALINA_HOME=/usr/l...   0B                  
<missing>           2 years ago         /bin/sh -c set -x  && apt-get update  && a...   163MB               
<missing>           2 years ago         /bin/sh -c #(nop) ENV JAVA_DEBIAN_VERSION=...   0B                  
<missing>           2 years ago         /bin/sh -c #(nop) ENV JAVA_VERSION=7u101        0B                  
<missing>           2 years ago         /bin/sh -c #(nop) ENV JAVA_HOME=/usr/lib/j...   0B                  
<missing>           2 years ago         /bin/sh -c {   echo '#!/bin/sh';   echo 's...   87B                 
<missing>           2 years ago         /bin/sh -c #(nop) ENV LANG=C.UTF-8              0B                  
<missing>           2 years ago         /bin/sh -c apt-get update && apt-get insta...   1.17MB              
<missing>           2 years ago         /bin/sh -c apt-get update && apt-get insta...   44.3MB              
<missing>           2 years ago         /bin/sh -c #(nop) CMD ["/bin/bash"]             0B                  
<missing>           2 years ago         /bin/sh -c #(nop) ADD file:5d8521419ad6cfb...   125MB

如果要让CREATED BY 列完整显示,可以加上 --no-trunc 参数。直接在shell中看会比较乱,可以输出到文件查看,就比较直观了

以PHPmyadmin docker镜像为例,效果如下:

 

 

 

 

Docker | docker实战(三):使用Docker镜像(读书笔记)

Docker | docker实战(三):使用Docker镜像(读书笔记)

第三章 使用Docker镜像

3.1 获取镜像

  镜像是运行容器的前提, 官方的 Docker Hub 网站已经提供了数十万个镜像供大家开放下载。 本节主要介绍 pecker镜像的pull子命令。
   可以使用 docker [image] pull 命令直接从 Docker Hub 镜像源来下载镜像。 该命令的格式为

docker [image] pull NAME [ :TAG] 。

   其中,NAME是镜像仓库名称(用来区分镜像),TAG是镜像的标签(往往用来表示版本信息)。 通常情况下,描述一个镜像需要包括 “名称+标签“ 信息。
   例如, 获取一个Ubuntu 18.04 系统的基础镜像可以使用如下的命令:

docker pull ubuntu: 18.04.18.04: Pulling from library/ubuntu Digest:sha256:e27e9d7f7f28d67aa9e2d7540bdc2b33254b452ee8e60f388875e5b7d9b2b696 
Status: Downloaded newer image for ubuntu:18.04

  对于Docker镜像来说, 如果不显式指定TAG, 则默认会选择la迳釭标签,这会下载 仓库中最新版本的镜像。
  下面的例子将从DcoekrHub 的Ubuntu仓库 下载一个最新版本的Ubuntu操作系统的镜像:

在这里插入图片描述


该命令实际上下载的就是 ubuntu:latest镜像。
  下载过程中可以看出 ,镜像文件一般由若干层(layer)组成 ,6c953ac5d795这样的 串是层的唯一id(实际上完整的id包括256比特,64个十六进制字符组成)。使用docker pull命令下载中会获取并输出镜像的各层信息。当不同的镜像包括相同的层时,本地仅存 储了层的 一份内容,减小了存储空间。
  读者可能会想到,在不同的镜像仓库服务器的情况下,可能会出现镜像重名的情况。
   严格地讲,镜像的仓库名称中还应该添加仓库地址(即registry, 注册服务器)作为前缀,只是默认使用的是官方dockerhub服务 ,该前缀可以忽略。
  例如,docker pull ubuntu:18.04命令相当千docker pull registry.hub. docker.com/ubuntu:18.04命令,即从默认的注册服务器DcoekrHub Registry中的 ubuntu 仓库来下载标记为18.04的镜像。
  如果从非官方 的仓库下载,则 需要在仓库 名称前指定完整的仓库地址。例如从网易蜂巢 的镜像源来下载ubuntu:18.04镜像,可以使用如下命令,此时下载的镜像名称 为hub. c.163.com/public/ubuntu:18.04:

 docker pull hub.c.163.com/public/ubuntu:18.04 

pull 子命令支持的选项主要包括:

  • -a, --all士ags=trueifalse:是否获取仓库中的所有镜像,默认为否;
  • --disable-con七ent-trus七:取消镜像的内容校验,默认为真。

  另外,有 时需要使用镜像代理服务来加速Docker镜像获取 过程 ,可以在Docker服务 启动配置中增加 --registry-mirror=proxy_URL来指定镜像代理服务地址(如https:// registry.docker-en.com)
  下载镜像到本地后, 即可随时使用该镜像了, 例如利用该镜像创建一个容器,在其中运 行bash应用, 执行打印 "Hello World"命令:

docker run -it ubuntu:18.04 bash 

在这里插入图片描述

3.2 查看镜像信息

  本节主要介绍Docker镜像的ls、tag和inspect子命令。

  1. 使用images命令列出镜像
docker images 

在这里插入图片描述


在列出信息中, 可以看到几个字段信息:

  • 来自于哪个仓库, 比如ubuntu表示ubuntu 系列的基础镜像;
    SIZE 79.6MB 79.6MB
  • 镜像的标签信息, 比如 18.04、 latest表示不同的版本信息。 标签只是标记, 并不能标识镜像内容;
  • 镜像的ID(唯一标识镜像),如果两个镜像的ID相同,说明它们实际上指向了同一 个镜像, 只是具有不同标签名称而已;
  • 创建时间,说明镜像最后的更新时间;
  • 镜像大小,优秀的镜像往往体积都较小。

  其中镜像的ID信息十分重要, 它唯一标识了镜像。在使用镜像ID的时候, 一般可以使 用该ID的前若干个字符组成的可区分串来替代完整的ID。
  TAG 信息用于标记来自同一个仓库的不同镜像。 例如ubuntu 仓库中有多个镜像, 通过 TAG 信息来区分发行版本, 如18.04、 18.10 等。
  镜像大小信息只是表示了该镜像的逻辑体积大小, 实际上由于相同的镜像层本地只会存 储一份, 物理上占用的存储空间会小于各镜像逻辑体积之和。

images子命令主要支持如下选项

  • -a, --all =true I false: 列出所有(包括临时文件)镜像文件,默认为否;
  • --digests=true | false: 列出镜像的数字摘要值,默认为否;
  • -f, --filter=[] : 过滤列出的镜像,如dangling 式rue 只显示没有被使用的镜像;也可指定带有特定标注的镜像等;
  • --format=“TEMPLATE” : 控制输出格式,如. ID代表ID信息,.Repository 代表仓库信息等;
  • --no-trunc=true | false: 对输出结果中太长的部分是否进行截断,如镜像的ID 信息,默认为是;
  • -q, --quiet=true | false: 仅输出ID信息, 默认为否。
      其中, 还支持对输出结果进行控制的选项,如 -f. --fil七er=[)、–no七rune= 七rueI false、 -q、 --quie七式rueI false等。
      更多子命令选项还可以通过mandocker-images来查看。
  1. 使用tag命令添加镜像标签
    为了方便在后续工作中使用特定镜像,还可以使用docker tag命令来为本地镜像任 意添加新的标签。 例如,添加一个新的myubuntu: latest镜像标签:
docker tag ubuntu:latest myubuntu:latest

  再次使用docker images列出本地主机上镜像信息, 可以看到多了一个myubun口: lates七标签的镜像:

在这里插入图片描述


  之后,用户就可以直接使用myubuntu:la七es七来表示这个镜像了。
  细心的读者可能注意到, 这些myubuntu:latest镜像的ID跟ubunt:latest是 完全一致的,它们实际上指向了同一个镜像文件,只是别名不同而巳。docker tag命令添 加的标签实际上起到了类似链接的作用。

  1. 使用inspect命令查看详细信息
    使用 docker [image] inspect 命令可以获取该镜像的详细信息,包括制作者、适 应 架构、各层的数字摘要等:

    在这里插入图片描述


      上面代码返回的是一个 JSON 格式的消息, 如果我们只要其中一项内容时, 可以使 用 -f 来指定, 例如, 获取镜像的Architecture:
docker [image] inspec七 -f { {" .Architecture"}} ubuntu:18.04 

在这里插入图片描述

  1. 使用 history 命令查看镜像历史
      既然镜像文件由多个层组成, 那么怎么知道各个层的内容具体是什么呢?这时候可以使 用 history 子命令, 该命令将列出各层的创建信息。 例如,查看 ubuntu: 18. 04 镜像的创建过程,可以使用如下命令:
docker history ubuntu: 18. 04

在这里插入图片描述


  注意,过长的命令被自动截断了, 可以使用前面提到的 --no-trunc选项来输出完整命令。

@范恒宾 发布了35 篇原创文章 · 获赞 4 · 访问量 1028 私信 关注

docker(六) 使用docker-maven-plugin插件构建docker镜像

docker(六) 使用docker-maven-plugin插件构建docker镜像

目录

  • 一、 使用docker-maven-plugin构建镜像
  • 二、使用
  • 三、绑定Docker 命令到 Maven 各个阶段

可以参考博客:https://blog.csdn.net/aixiaoyang168/article/details/77453974
docker-maven-plugin官网推荐在新项目中使用dockerfile-maven来构建镜像。

docker-maven-plugin的Github地址:https://github.com/spotify/docker-maven-plugin

dockerfile-maven的Github地址:https://github.com/spotify/dockerfile-maven

一、 使用docker-maven-plugin构建镜像

docker-maven-plugin有两种使用方式,一种是使用Dockerfile文件,一种是不使用Dockerfile文件。

1.在 POM中指定构建信息(不使用Dockerfile文件)

在pom.xml中引入该插件

<!-- docker-maven-plugin插件(不带Dockerfile文件) -->
<plugin>
    <groupId>com.spotify</groupId>
    <artifactId>docker-maven-plugin</artifactId>
    <version>0.4.13</version>
    <configuration>
        <!--用于指定镜像名称-->
        <imageName>${project.name}:${project.version}</imageName>
        <!--用于指定基础镜像,相当于Dockerfile中的FROM指令-->
        <baseImage>java</baseImage>
        <!--相当于Dockerfile的ENTRYPOINT指令-->
        <entryPoint>["java", "-jar", "/${project.build.finalName}.jar"]</entryPoint>
        <!--是否跳过docker build-->
        <skipDockerBuild>true</skipDockerBuild>
        <resources>
            <resource>
                <targetPath>/</targetPath>
                <!--用于指定需要复制的根目录,${project.build.directory}表示target目录-->
                <directory>${project.build.directory}</directory>
                <!--用于指定需要复制的文件。${project.build.finalName}.jar指的是打包后的jar包文件。-->
                <include>${project.build.finalName}.jar</include>
            </resource>
        </resources>
    </configuration>
</plugin>

默认情况下,该插件通过访问localhost:2375来连接本地docker,可以通过设置DOCKER_HOST 环境变量来连接docker.

DOCKER_HOST=tcp://<host>:2375

 

2.使用Dockerfile文件

 

如果使用Dockerfile文件,必须指定dockerDirectory元素,那么 baseImage, maintainer, cmd and entryPoint这些元素也会被忽略。dockerDirectory元素所指定的内容将被复制到${project.build.directory}/docker下,resources元素则会复制除此之外的其它文件,例如项目jar文件。

<!--docker-maven-plugin插件(带Dockerfile文件)-->
<plugin>
    <groupId>com.spotify</groupId>
    <artifactId>docker-maven-plugin</artifactId>
    <version>0.4.13</version>
    <configuration>
        <imageName>${project.name}:${project.version}</imageName>
        <!--Dockerfile文件位置-->
        <dockerDirectory>docker</dockerDirectory>
        <resources>
            <resource>
                <targetPath>/</targetPath>
                <directory>${project.build.directory}</directory>
                <include>${project.build.finalName}.jar</include>
            </resource>
        </resources>
    </configuration>
</plugin>

二、使用

创建镜像

mvn clean package docker:build

推送镜像到Registry

mvn clean package docker:build -DpushImage

推送指定tag的镜像到Registry

mvn clean package docker:build -DpushImageTag
回到顶部

三、绑定Docker 命令到 Maven 各个阶段

 

docker(六) 使用docker-maven-plugin插件构建docker镜像(已过时)

docker(六) 使用docker-maven-plugin插件构建docker镜像(已过时)

可以参考博客:https://blog.csdn.net/aixiaoyang168/article/details/77453974

docker-maven-plugin官网推荐在新项目中使用dockerfile-maven来构建镜像。

docker-maven-plugin的Github地址:https://github.com/spotify/docker-maven-plugin

dockerfile-maven的Github地址:https://github.com/spotify/dockerfile-maven

 

一、 使用docker-maven-plugin构建镜像

docker-maven-plugin有两种使用方式,一种是使用Dockerfile文件,一种是不使用Dockerfile文件。

1.在 POM中指定构建信息(不使用Dockerfile文件)

在pom.xml中引入该插件

<!-- docker-maven-plugin插件(不带Dockerfile文件) -->
<plugin>
    <groupId>com.spotify</groupId>
    <artifactId>docker-maven-plugin</artifactId>
    <version>0.4.13</version>
    <configuration>
        <!--用于指定镜像名称-->
        <imageName>${project.name}:${project.version}</imageName>
        <!--用于指定基础镜像,相当于Dockerfile中的FROM指令-->
        <baseImage>java</baseImage>
        <!--相当于Dockerfile的ENTRYPOINT指令-->
        <entryPoint>["java", "-jar", "/${project.build.finalName}.jar"]</entryPoint>
        <!--是否跳过docker build-->
        <skipDockerBuild>true</skipDockerBuild>
        <resources>
            <resource>
                <targetPath>/</targetPath>
                <!--用于指定需要复制的根目录,${project.build.directory}表示target目录-->
                <directory>${project.build.directory}</directory>
                <!--用于指定需要复制的文件。${project.build.finalName}.jar指的是打包后的jar包文件。-->
                <include>${project.build.finalName}.jar</include>
            </resource>
        </resources>
    </configuration>
</plugin>

默认情况下,该插件通过访问localhost:2375来连接本地docker,可以通过设置DOCKER_HOST 环境变量来连接docker.

DOCKER_HOST=tcp://<host>:2375

2.使用Dockerfile文件

如果使用Dockerfile文件,必须指定dockerDirectory元素,那么 baseImage, maintainer, cmd and entryPoint这些元素也会被忽略。dockerDirectory元素所指定的内容将被复制到${project.build.directory}/docker下,resources元素则会复制除此之外的其它文件,例如项目jar文件。

<!--docker-maven-plugin插件(带Dockerfile文件)-->
<plugin>
    <groupId>com.spotify</groupId>
    <artifactId>docker-maven-plugin</artifactId>
    <version>0.4.13</version>
    <configuration>
        <imageName>${project.name}:${project.version}</imageName>
        <!--Dockerfile文件位置-->
        <dockerDirectory>docker</dockerDirectory>
        <resources>
            <resource>
                <targetPath>/</targetPath>
                <directory>${project.build.directory}</directory>
                <include>${project.build.finalName}.jar</include>
            </resource>
        </resources>
    </configuration>
</plugin>

 

二、使用

创建镜像

mvn clean package docker:build

推送镜像到Registry

mvn clean package docker:build -DpushImage

推送指定tag的镜像到Registry

mvn clean package docker:build -DpushImageTag

三、绑定Docker 命令到 Maven 各个阶段

 

关于【Docker实战之入门】Dockerfile详细分析:构建docker镜像1基础镜像centos7的介绍现已完结,谢谢您的耐心阅读,如果想了解更多关于docker history 查看docker镜像构建过程 还原dockerfile 查看启动参数、Docker | docker实战(三):使用Docker镜像(读书笔记)、docker(六) 使用docker-maven-plugin插件构建docker镜像、docker(六) 使用docker-maven-plugin插件构建docker镜像(已过时)的相关知识,请在本站寻找。

本文标签: