Docker容器 - DockerFile详解

2023-05-16

目录

DockerFile

一、是什么

二、构建步骤

DockerFile构建过程

一、DockerFile基础

二、Docker执行DockerFile的流程

三、总结

DockerFile常用保留字

零、参考Tomcat的DockerFile

一、FROM

二、MAINTAINER

三、RUN

1.shell

2.exec

四、EXPOSE

五、WORKDIR

六、USER

七、ENV

八、ADD

九、COPY

十、VOLUME

十一、CMD

1.举个栗子

2.CMD和RUN之间的区别

十二、ENTRYPOINT

1.举个栗子

2.优点

3.注意

举例

零、需求和准备

一、编写Dockerfile文件

二、构建

UnionFS联合文件系统


DockerFile

一、是什么

DockerFile是用来构建Docker镜像的文本文件,其中包括了一条条构建镜像所需要的指令和参数。


二、构建步骤

编写DockerFile文件 ---> Docker build构建镜像 ---> Docker run以镜像运行容器实例。


DockerFile构建过程

一、DockerFile基础

1.每条保留字(至于保留字是什么后面会提)必须为大写字母且后面要跟随至少一个参数

2.指令按照从从上到下,依次执行

3.#表示注释

4.每条指令都会创建一个新的镜像层,并对镜像进行提交


二、Docker执行DockerFile的流程

1.docker以基础镜像运行一个容器

#以镜像启动容器,“有了类,才能new一个对象”

2.执行一条指令并对容器做出修改

3.执行类似于Docker commit的操作提交一个新的镜像层

4.Docker再基于刚刚提交的镜像运行一个新的容器

5.执行DockerFile中的下一条指令,直到所有指令执行完成


三、总结

从应用软件的角度来看,DockerFile、Docker镜像与Docker容器分别代表软件的三个不同阶段,可以看做是它的生命周期

1.DockerFile是软件的原材料

2.Docker镜像是软件的交付品

3.Docker容器则可以认为是软件镜像的运行态,也即依照镜像运行的容器实例

DockerFile面向开发,Docker镜像成为交付标准,Docker容器则涉及部署与运维,三者缺一不可,合力充当Docker体系的基石。

1 DockerFile,需要定义一个DockerFile,Dockerfile定义了进程需要的一切东西。Dockerfile涉及的内容包括执行代码或者是文件、环境变量、依赖包、运行时环境、动态链接库、操作系统的发行版、服务进程和内核进程(当应用进程需要和系统服务和内核进程打交道,这时需要考虑如何设计namespace的权限控制)等等;

2 Docker镜像,在用Dockerfile定义一个文件之后,docker build时会产生一个Docker镜像,当运行 Docker镜像时会真正开始提供服务;

3 Docker容器,容器是直接提供服务的。


DockerFile常用保留字

零、参考Tomcat的DockerFile

这里去DockerHub中去看看tomcat:Docker Hub

然后随便选一个看看

这里可能有人会连不上GitHub,复制了部分过来。其DockerFile内容如下:

...此处省略...

FROM amazoncorretto:8-al2-jdk

ENV CATALINA_HOME /usr/local/tomcat
ENV PATH $CATALINA_HOME/bin:$PATH
RUN mkdir -p "$CATALINA_HOME"
WORKDIR $CATALINA_HOME

# let "Tomcat Native" live somewhere isolated
ENV TOMCAT_NATIVE_LIBDIR $CATALINA_HOME/native-jni-lib
ENV LD_LIBRARY_PATH ${LD_LIBRARY_PATH:+$LD_LIBRARY_PATH:}$TOMCAT_NATIVE_LIBDIR

# see https://www.apache.org/dist/tomcat/tomcat-10/KEYS
# see also "versions.sh" (https://github.com/docker-library/tomcat/blob/master/versions.sh)
ENV GPG_KEYS A9C5DF4D22E99998D9875A5110C01C5A2F6059E7

ENV TOMCAT_MAJOR 10
ENV TOMCAT_VERSION 10.0.23
ENV TOMCAT_SHA512 0e0263e8280f2ccfb4bef916444a6105fef689a3d95c334c8a7bfe59f1e3966d48ea624727f1818a4df331a603f1ac5e21b908dda3cae676ddc1aef90c2d12ab

...内容过多,此处省略...

# verify Tomcat Native is working properly
RUN set -eux; \
	nativeLines="$(catalina.sh configtest 2>&1)"; \
	nativeLines="$(echo "$nativeLines" | grep 'Apache Tomcat Native')"; \
	nativeLines="$(echo "$nativeLines" | sort -u)"; \
	if ! echo "$nativeLines" | grep -E 'INFO: Loaded( APR based)? Apache Tomcat Native library' >&2; then \
		echo >&2 "$nativeLines"; \
		exit 1; \
	fi

EXPOSE 8080
CMD ["catalina.sh", "run"]

这里官网上标红的部分如FROM  ENV  RUN  WORKDIR  EXPOSE  CMD这些就是上面提到的保留字,可以看做是命令关键字。例如最后所提到的

EXPOSE 8080

这也就是tomcat所暴露的默认端口8080。在官网How to use this image.这一节中有提到:

运行默认的Tomcat服务,相当于在启动后默认添加一段:

CMD ["catalina.sh", "run"]

这一段就来自于刚刚所看的DockerFile的结尾。


一、FROM

基本上都会出现在DockerFile的第一行。代表你目前的镜像来自于哪,它的基础镜像是什么,有点类似于继承的哪个父类。比如上面看的Tomcat中的第一行:

FROM amazoncorretto:8-al2-jdk

意思为,他的基础镜像是亚马逊...,然后在此基础之上添加了下面的内容。 


二、MAINTAINER

维护者,用于标注镜像的作者,和TA的联系方式。


三、RUN

容器构建时所需要的命令(也就是说DockerFile变成Docker镜像的build过程中,会读取你DockerFile中用RUN这个关键字所编写的命令),一种是shell一种是exec。

1.shell

RUN <命令行命令>
<命令行命令>等同于在终端中的shell命令

例子:

当我们要在容器中添加一个vim功能时,要使用到yum。而以下的命令则是告诉你:在基础镜像之上,我们添加了一个安装vim的功能

RUN yum -y install vim

2.exec

RUN ["可执行文件","参数1","参数2"]
#RUN ["./123.sh","1","2"] 等价于RUN ./123.sh 1 2

四、EXPOSE

当前容器对外曝露的端口,类似于运行容器时添加的 -p -P


五、WORKDIR

在容器创建以后,终端默认登陆进来的工作目录就是一个落脚点。

举例:咱们在容器里运行个Ubuntu看看:

docker run -it ubuntu bash

在运行后紧接着pwd查看一下当先位置:

pwd

可以看到当前在根目录,所以说Ubuntu的默认落脚点为自身的根目录。

咱们换一个看看其它情况(这里故意加了一个bash,以用作演示):

docker run -it -p 8080:8080 tomcat:8 bash

接着pwd:

pwd

可以看到这里的落脚点为 /usr/local/tomcat

至于为什么咱们的Ubuntu和tomcat的落脚点会不同,就是因为tomcat的DockerFile中用WORKDIR自己定义了一个落脚点。 在后面的七、ENV那块还会提一嘴。


六、USER

指定该镜像以什么样的用户去执行,若不指定,则默认为root。


七、ENV

运行时环境。用来在构建镜像过程中设置环境变量。

再来看看之前看tomcat的DockerFile这张图:

比如这里的:

ENV CATALINA_HOME /usr/local/tomcat

格式有点类似于kv键值对,用于定义一个变量并以在后面进行引用。这里的意思是定义了一个CATALINA_HOME变量,它所指的是/usr/local/tomcat的这个路径。图中的:

WORKDIR $CATALINA_HOME

 这里是引用了这个CATALINA_HOME变量作为它的落脚点。 也就是上面提到的WORKDIR。这也正是tomcat的落脚点为啥会是/usr/local/tomcat的原因。


八、ADD

将宿主机目录下的文件拷贝到镜像。且会自动处理URL和解压tar压缩包。相当于下面的COPY加上一个解压功能。


九、COPY

拷贝文件和目录到镜像中。类似于docker基础命令中的cp。

COPY ["src","dest"]
#src:源文件或源目录
#dest:容器内指定的路径,若所指定的路径不存在,则会自动创建好。

十、VOLUME

容器数据卷,相当于运行容器时的 -v 。关于容器数据卷的详解可以查看之间的博客:Docker容器数据卷


十一、CMD

指定容器在启动后要进行的操作。CMDRUN一样,也同样支持 shell exec 格式。

CMD <shell命令>
#shell格式

CMD ["可执行文件","参数1","餐数2"]
#exec格式

CMD ["参数1","餐数2","餐数3"...]
#参数列表格式

这里新提到的 参数列表格式 :当在指定了ENTRYPOINT后,CMD用于指定具体参数。

简单来说也就是在有了ENTRYPOINT之后,CMD就变成用来给它传参的了。

一个DockerFile中可以有多个CMD指令,但是只有最后一个会生效。这里我们来看看tomcat的DockerFile最后两行:

EXPOSE 8080
CMD ["catalina.sh", "run"]

先曝露出8080端口,然后最后一行是一个运行操作。若在后面继续添加一个CMD,则此处的 CMD ["catalina.sh", "run"] 将会直接失效。

1.举个栗子

docker run -it -p 8080:8080 tomcat:8 

这回咱们正常启动,后面没有加之前bash

然后我们去正常访问8080,可以正常看到咱们的猫猫(如果你访问8080报错404可以看看这篇:Docker容器安装Tomcat高版本,解决访问8080报错404):

这里一切都是正常的。然后咱们去搞点事情

咱们这回在后面给它加上 /bin/bash

docker run -it -p 8080:8080 tomcat:8 /bin/bash

这就相当于给它的DockerFile多加了一行,变成了以下的样子:

EXPOSE 8080
CMD ["catalina.sh", "run"]

CMD ["/bin/bash","run"]

咱们这时候再去看看8080的猫猫还在不在: 

这时候猫猫就不见了(连不上8080)。 这也就是咱们上面提到的:CMD可以允许有多个,但是只有最后一个会正常执行,这里的 CMD ["/bin/bash","run"] 将之前的 CMD ["catalina.sh", "run"] 给覆盖了,所以猫猫不见了。

2.CMD和RUN之间的区别

CMD在docker run时运行

RUN在docker build时运行


十二、ENTRYPOINT

同样也是定容器在启动后要进行的操作。与CMD类似,但是ENTRYPOINT不会被docker run后面的命令覆盖,而且这些命令行参数会被当做参数传给ENTRYPOINT指定的程序。

命令格式:

ENTRYPOINT ["<可执行文件>","<参数1>","<参数2>"...]

 ENTRYPOINT 可以和 CMD 一起用,这里的  CMD 等于是在给 ENTRYPOINT 传参。

简单来说 ENTRYPOINT 的优先级比 CMD 跟高一些,一起使用时会变成:

<ENTRYPOINT>"<CMD>"

1.举个栗子

假设用DockerFile来构建Nginx的镜像:

FROM nginx

ENTRYPOINT ["nginx","-c"]
#定参

CMD ["/etc/nginx/nginx.conf"]
#变参

上述DockerFile衍生出的实际命令如下:

nginx -c /etc/nginx/nginx.conf

那如果在运行时添加了参数,如下:

docker run  nginx -c /etc/nginx/new.conf

这里因为在运行时,添加了一个新的conf,也就相当于在DockerFile中添加了一段新的CMD。咱们在上面有提到,CMD会被最后的CMD代替掉(也就是只有最后一个CMD能正常运行),那么以上代码在实际运行时其实如下:

nginx -c /etc/nginx/new.conf

即便在DockerFile中写了  ENTRYPOINT+CMD ,但是还是会被run后面新加的参数代替。

2.优点

在执行docker run的时候可以给ENTRYPOINT添加所需要的参数

3.注意

若DockerFile中存在多个ENTRYPOINT,仅最后一个生效


举例

零、需求和准备

需求:使用DockerFile给CentOS镜像上添加vim+ifconfig+jdk8,启动一下(但是我这里建议各位在拉centos镜像的时候加上版本号7,后面会提到):

docker run -it 5d0da3dc9764 /bin/bash

 咱么刚刚拉取下来的Centos镜像是不具备上述功能的,咱们查看一下:

vim 1.txt

ifconfig

java -version

我们现在去下一个jdk的gz包(随便选一个即可,这里我用的是171):jdk镜像下载


一、编写Dockerfile文件

在宿主机的根目录下创建一个新目录,叫做myfile然后使用xftp等工具将上面下载的包传进去:

mkdir /myfile

 然后在此目录下用vim新建文件Dockerfile注意:这里的D要大写,f要小写

vim Dockerfile

注意点:因为CentOS8已经停止维护了,所以这里的第一行FROM后面需要加上7的版本号,否则后面会报错,将以下内容复制进去:

FROM centos:7
#基础镜像

MAINTAINER van<123@123.com>
#维护者和联系方式
 
ENV MYPATH /usr/local
WORKDIR $MYPATH
#以变量的形式给到一个落脚点
 
RUN yum -y install vim
#安装vim编辑器

RUN yum -y install net-tools
#安装ifconfig命令查看网络IP

RUN yum -y install glibc.i686
RUN mkdir /usr/local/java
#安装java8及lib库

ADD jdk-8u171-linux-x64.tar.gz /usr/local/java/
#ADD 是相对路径jar,把jdk-8u171-linux-x64.tar.gz添加到容器中,安装包必须要和Dockerfile文件在同一位置

ENV JAVA_HOME /usr/local/java/jdk1.8.0_171
ENV JRE_HOME $JAVA_HOME/jre
ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib:$CLASSPATH
ENV PATH $JAVA_HOME/bin:$PATH
#配置java环境变量
 
EXPOSE 80
#centos也不需要去曝露什么端口,这里是随便写的
 
CMD echo $MYPATH
CMD echo "success###############ok"
CMD /bin/bash

二、构建

让在当前目录下进行构建:

docker build -t centosjava8:1.5 .

.号是指镜像构建时打包上传到Docker引擎中的文件的目录,不是本机目录。这里要注意的是:版本号后面有一个空格,之后再加上.

过程可能会比较漫长,运行结果如下:

可以看到,所有的Dockerfile指令都已经构建成功。

咱们docker images查看一下:

docker images

我这里出现了一个虚悬镜像,留到下一篇博客再讲吧。已经写完了:Docker容器:虚悬镜像) 可以看到新的镜像大小有整整1.22个G比原先的200多M大了不少。运行一下(注意一下自己的镜像ID):

docker run -it 24af206ac896 /bin/bash

pwd查看一下落脚点在哪 

pwd

和我们之前设置的WORKDIR落脚点一致,没有问题。

再来看看其它功能是否正常

vim 1.txt

ifconfig

java -version

 试验成功!


UnionFS联合文件系统

这里我把整个构建的过程复制过来:

[root@vanqiyeah myfile]# docker build -t centosjava8:1.5 .
Sending build context to Docker daemon  190.9MB
Step 1/17 : FROM centos:7
7: Pulling from library/centos
2d473b07cdd5: Pull complete 
Digest: sha256:9d4bcbbb213dfd745b58be38b13b996ebb5ac315fe75711bd618426a630e0987
Status: Downloaded newer image for centos:7
 ---> eeb6ee3f44bd
Step 2/17 : MAINTAINER van<123@123.com>
 ---> Running in bedec783f19e
Removing intermediate container bedec783f19e
 ---> 3d5b6d941195
Step 3/17 : ENV MYPATH /usr/local
 ---> Running in f08acf892bbe
Removing intermediate container f08acf892bbe
 ---> d892076f0380
Step 4/17 : WORKDIR $MYPATH
 ---> Running in da6bfab459dc
Removing intermediate container da6bfab459dc
 ---> a9b042242153
Step 5/17 : RUN yum -y install vim
 ---> Running in 1f31b178d7b0
Loaded plugins: fastestmirror, ovl
Determining fastest mirrors
 * base: mirrors.cn99.com
 * extras: mirrors.nju.edu.cn
 * updates: mirrors.ustc.edu.cn
Resolving Dependencies
--> Running transaction check
---> Package vim-enhanced.x86_64 2:7.4.629-8.el7_9 will be installed
--> Processing Dependency: vim-common = 2:7.4.629-8.el7_9 for package: 2:vim-enhanced-7.4.629-8.el7_9.x86_64
--> Processing Dependency: which for package: 2:vim-enhanced-7.4.629-8.el7_9.x86_64
--> Processing Dependency: perl(:MODULE_COMPAT_5.16.3) for package: 2:vim-enhanced-7.4.629-8.el7_9.x86_64
--> Processing Dependency: libperl.so()(64bit) for package: 2:vim-enhanced-7.4.629-8.el7_9.x86_64
--> Processing Dependency: libgpm.so.2()(64bit) for package: 2:vim-enhanced-7.4.629-8.el7_9.x86_64
--> Running transaction check
---> Package gpm-libs.x86_64 0:1.20.7-6.el7 will be installed
---> Package perl.x86_64 4:5.16.3-299.el7_9 will be installed
--> Processing Dependency: perl(Socket) >= 1.3 for package: 4:perl-5.16.3-299.el7_9.x86_64
--> Processing Dependency: perl(Scalar::Util) >= 1.10 for package: 4:perl-5.16.3-299.el7_9.x86_64
--> Processing Dependency: perl-macros for package: 4:perl-5.16.3-299.el7_9.x86_64
--> Processing Dependency: perl(threads::shared) for package: 4:perl-5.16.3-299.el7_9.x86_64
--> Processing Dependency: perl(threads) for package: 4:perl-5.16.3-299.el7_9.x86_64
--> Processing Dependency: perl(constant) for package: 4:perl-5.16.3-299.el7_9.x86_64
--> Processing Dependency: perl(Time::Local) for package: 4:perl-5.16.3-299.el7_9.x86_64
--> Processing Dependency: perl(Time::HiRes) for package: 4:perl-5.16.3-299.el7_9.x86_64
--> Processing Dependency: perl(Storable) for package: 4:perl-5.16.3-299.el7_9.x86_64
--> Processing Dependency: perl(Socket) for package: 4:perl-5.16.3-299.el7_9.x86_64
--> Processing Dependency: perl(Scalar::Util) for package: 4:perl-5.16.3-299.el7_9.x86_64
--> Processing Dependency: perl(Pod::Simple::XHTML) for package: 4:perl-5.16.3-299.el7_9.x86_64
--> Processing Dependency: perl(Pod::Simple::Search) for package: 4:perl-5.16.3-299.el7_9.x86_64
--> Processing Dependency: perl(Getopt::Long) for package: 4:perl-5.16.3-299.el7_9.x86_64
--> Processing Dependency: perl(Filter::Util::Call) for package: 4:perl-5.16.3-299.el7_9.x86_64
--> Processing Dependency: perl(File::Temp) for package: 4:perl-5.16.3-299.el7_9.x86_64
--> Processing Dependency: perl(File::Spec::Unix) for package: 4:perl-5.16.3-299.el7_9.x86_64
--> Processing Dependency: perl(File::Spec::Functions) for package: 4:perl-5.16.3-299.el7_9.x86_64
--> Processing Dependency: perl(File::Spec) for package: 4:perl-5.16.3-299.el7_9.x86_64
--> Processing Dependency: perl(File::Path) for package: 4:perl-5.16.3-299.el7_9.x86_64
--> Processing Dependency: perl(Exporter) for package: 4:perl-5.16.3-299.el7_9.x86_64
--> Processing Dependency: perl(Cwd) for package: 4:perl-5.16.3-299.el7_9.x86_64
--> Processing Dependency: perl(Carp) for package: 4:perl-5.16.3-299.el7_9.x86_64
---> Package perl-libs.x86_64 4:5.16.3-299.el7_9 will be installed
---> Package vim-common.x86_64 2:7.4.629-8.el7_9 will be installed
--> Processing Dependency: vim-filesystem for package: 2:vim-common-7.4.629-8.el7_9.x86_64
---> Package which.x86_64 0:2.20-7.el7 will be installed
--> Running transaction check
---> Package perl-Carp.noarch 0:1.26-244.el7 will be installed
---> Package perl-Exporter.noarch 0:5.68-3.el7 will be installed
---> Package perl-File-Path.noarch 0:2.09-2.el7 will be installed
---> Package perl-File-Temp.noarch 0:0.23.01-3.el7 will be installed
---> Package perl-Filter.x86_64 0:1.49-3.el7 will be installed
---> Package perl-Getopt-Long.noarch 0:2.40-3.el7 will be installed
--> Processing Dependency: perl(Pod::Usage) >= 1.14 for package: perl-Getopt-Long-2.40-3.el7.noarch
--> Processing Dependency: perl(Text::ParseWords) for package: perl-Getopt-Long-2.40-3.el7.noarch
---> Package perl-PathTools.x86_64 0:3.40-5.el7 will be installed
---> Package perl-Pod-Simple.noarch 1:3.28-4.el7 will be installed
--> Processing Dependency: perl(Pod::Escapes) >= 1.04 for package: 1:perl-Pod-Simple-3.28-4.el7.noarch
--> Processing Dependency: perl(Encode) for package: 1:perl-Pod-Simple-3.28-4.el7.noarch
---> Package perl-Scalar-List-Utils.x86_64 0:1.27-248.el7 will be installed
---> Package perl-Socket.x86_64 0:2.010-5.el7 will be installed
---> Package perl-Storable.x86_64 0:2.45-3.el7 will be installed
---> Package perl-Time-HiRes.x86_64 4:1.9725-3.el7 will be installed
---> Package perl-Time-Local.noarch 0:1.2300-2.el7 will be installed
---> Package perl-constant.noarch 0:1.27-2.el7 will be installed
---> Package perl-macros.x86_64 4:5.16.3-299.el7_9 will be installed
---> Package perl-threads.x86_64 0:1.87-4.el7 will be installed
---> Package perl-threads-shared.x86_64 0:1.43-6.el7 will be installed
---> Package vim-filesystem.x86_64 2:7.4.629-8.el7_9 will be installed
--> Running transaction check
---> Package perl-Encode.x86_64 0:2.51-7.el7 will be installed
---> Package perl-Pod-Escapes.noarch 1:1.04-299.el7_9 will be installed
---> Package perl-Pod-Usage.noarch 0:1.63-3.el7 will be installed
--> Processing Dependency: perl(Pod::Text) >= 3.15 for package: perl-Pod-Usage-1.63-3.el7.noarch
--> Processing Dependency: perl-Pod-Perldoc for package: perl-Pod-Usage-1.63-3.el7.noarch
---> Package perl-Text-ParseWords.noarch 0:3.29-4.el7 will be installed
--> Running transaction check
---> Package perl-Pod-Perldoc.noarch 0:3.20-4.el7 will be installed
--> Processing Dependency: perl(parent) for package: perl-Pod-Perldoc-3.20-4.el7.noarch
--> Processing Dependency: perl(HTTP::Tiny) for package: perl-Pod-Perldoc-3.20-4.el7.noarch
--> Processing Dependency: groff-base for package: perl-Pod-Perldoc-3.20-4.el7.noarch
---> Package perl-podlators.noarch 0:2.5.1-3.el7 will be installed
--> Running transaction check
---> Package groff-base.x86_64 0:1.22.2-8.el7 will be installed
---> Package perl-HTTP-Tiny.noarch 0:0.033-3.el7 will be installed
---> Package perl-parent.noarch 1:0.225-244.el7 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

================================================================================
 Package                    Arch       Version                Repository   Size
================================================================================
Installing:
 vim-enhanced               x86_64     2:7.4.629-8.el7_9      updates     1.1 M
Installing for dependencies:
 gpm-libs                   x86_64     1.20.7-6.el7           base         32 k
 groff-base                 x86_64     1.22.2-8.el7           base        942 k
 perl                       x86_64     4:5.16.3-299.el7_9     updates     8.0 M
 perl-Carp                  noarch     1.26-244.el7           base         19 k
 perl-Encode                x86_64     2.51-7.el7             base        1.5 M
 perl-Exporter              noarch     5.68-3.el7             base         28 k
 perl-File-Path             noarch     2.09-2.el7             base         26 k
 perl-File-Temp             noarch     0.23.01-3.el7          base         56 k
 perl-Filter                x86_64     1.49-3.el7             base         76 k
 perl-Getopt-Long           noarch     2.40-3.el7             base         56 k
 perl-HTTP-Tiny             noarch     0.033-3.el7            base         38 k
 perl-PathTools             x86_64     3.40-5.el7             base         82 k
 perl-Pod-Escapes           noarch     1:1.04-299.el7_9       updates      52 k
 perl-Pod-Perldoc           noarch     3.20-4.el7             base         87 k
 perl-Pod-Simple            noarch     1:3.28-4.el7           base        216 k
 perl-Pod-Usage             noarch     1.63-3.el7             base         27 k
 perl-Scalar-List-Utils     x86_64     1.27-248.el7           base         36 k
 perl-Socket                x86_64     2.010-5.el7            base         49 k
 perl-Storable              x86_64     2.45-3.el7             base         77 k
 perl-Text-ParseWords       noarch     3.29-4.el7             base         14 k
 perl-Time-HiRes            x86_64     4:1.9725-3.el7         base         45 k
 perl-Time-Local            noarch     1.2300-2.el7           base         24 k
 perl-constant              noarch     1.27-2.el7             base         19 k
 perl-libs                  x86_64     4:5.16.3-299.el7_9     updates     690 k
 perl-macros                x86_64     4:5.16.3-299.el7_9     updates      44 k
 perl-parent                noarch     1:0.225-244.el7        base         12 k
 perl-podlators             noarch     2.5.1-3.el7            base        112 k
 perl-threads               x86_64     1.87-4.el7             base         49 k
 perl-threads-shared        x86_64     1.43-6.el7             base         39 k
 vim-common                 x86_64     2:7.4.629-8.el7_9      updates     5.9 M
 vim-filesystem             x86_64     2:7.4.629-8.el7_9      updates      11 k
 which                      x86_64     2.20-7.el7             base         41 k

Transaction Summary
================================================================================
Install  1 Package (+32 Dependent packages)

Total download size: 19 M
Installed size: 63 M
Downloading packages:
warning: /var/cache/yum/x86_64/7/base/packages/gpm-libs-1.20.7-6.el7.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID f4a80eb5: NOKEY
Public key for gpm-libs-1.20.7-6.el7.x86_64.rpm is not installed
Public key for perl-Pod-Escapes-1.04-299.el7_9.noarch.rpm is not installed
--------------------------------------------------------------------------------
Total                                              1.1 MB/s |  19 MB  00:16     
Retrieving key from file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
Importing GPG key 0xF4A80EB5:
 Userid     : "CentOS-7 Key (CentOS 7 Official Signing Key) <security@centos.org>"
 Fingerprint: 6341 ab27 53d7 8a78 a7c2 7bb1 24c6 a8a7 f4a8 0eb5
 Package    : centos-release-7-9.2009.0.el7.centos.x86_64 (@CentOS)
 From       : /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Installing : gpm-libs-1.20.7-6.el7.x86_64                                1/33 
  Installing : 2:vim-filesystem-7.4.629-8.el7_9.x86_64                     2/33 
  Installing : 2:vim-common-7.4.629-8.el7_9.x86_64                         3/33 
  Installing : which-2.20-7.el7.x86_64                                     4/33 
install-info: No such file or directory for /usr/share/info/which.info.gz
  Installing : groff-base-1.22.2-8.el7.x86_64                              5/33 
  Installing : 1:perl-parent-0.225-244.el7.noarch                          6/33 
  Installing : perl-HTTP-Tiny-0.033-3.el7.noarch                           7/33 
  Installing : perl-podlators-2.5.1-3.el7.noarch                           8/33 
  Installing : perl-Pod-Perldoc-3.20-4.el7.noarch                          9/33 
  Installing : 1:perl-Pod-Escapes-1.04-299.el7_9.noarch                   10/33 
  Installing : perl-Encode-2.51-7.el7.x86_64                              11/33 
  Installing : perl-Text-ParseWords-3.29-4.el7.noarch                     12/33 
  Installing : perl-Pod-Usage-1.63-3.el7.noarch                           13/33 
  Installing : 4:perl-macros-5.16.3-299.el7_9.x86_64                      14/33 
  Installing : perl-Storable-2.45-3.el7.x86_64                            15/33 
  Installing : perl-Exporter-5.68-3.el7.noarch                            16/33 
  Installing : perl-constant-1.27-2.el7.noarch                            17/33 
  Installing : perl-Socket-2.010-5.el7.x86_64                             18/33 
  Installing : perl-Time-Local-1.2300-2.el7.noarch                        19/33 
  Installing : perl-Carp-1.26-244.el7.noarch                              20/33 
  Installing : perl-PathTools-3.40-5.el7.x86_64                           21/33 
  Installing : perl-Scalar-List-Utils-1.27-248.el7.x86_64                 22/33 
  Installing : 1:perl-Pod-Simple-3.28-4.el7.noarch                        23/33 
  Installing : perl-File-Temp-0.23.01-3.el7.noarch                        24/33 
  Installing : perl-File-Path-2.09-2.el7.noarch                           25/33 
  Installing : perl-threads-shared-1.43-6.el7.x86_64                      26/33 
  Installing : perl-threads-1.87-4.el7.x86_64                             27/33 
  Installing : 4:perl-Time-HiRes-1.9725-3.el7.x86_64                      28/33 
  Installing : perl-Filter-1.49-3.el7.x86_64                              29/33 
  Installing : 4:perl-libs-5.16.3-299.el7_9.x86_64                        30/33 
  Installing : perl-Getopt-Long-2.40-3.el7.noarch                         31/33 
  Installing : 4:perl-5.16.3-299.el7_9.x86_64                             32/33 
  Installing : 2:vim-enhanced-7.4.629-8.el7_9.x86_64                      33/33 
  Verifying  : perl-HTTP-Tiny-0.033-3.el7.noarch                           1/33 
  Verifying  : perl-threads-shared-1.43-6.el7.x86_64                       2/33 
  Verifying  : perl-Storable-2.45-3.el7.x86_64                             3/33 
  Verifying  : groff-base-1.22.2-8.el7.x86_64                              4/33 
  Verifying  : perl-Exporter-5.68-3.el7.noarch                             5/33 
  Verifying  : perl-constant-1.27-2.el7.noarch                             6/33 
  Verifying  : perl-PathTools-3.40-5.el7.x86_64                            7/33 
  Verifying  : 4:perl-macros-5.16.3-299.el7_9.x86_64                       8/33 
  Verifying  : 2:vim-enhanced-7.4.629-8.el7_9.x86_64                       9/33 
  Verifying  : 1:perl-parent-0.225-244.el7.noarch                         10/33 
  Verifying  : perl-Socket-2.010-5.el7.x86_64                             11/33 
  Verifying  : which-2.20-7.el7.x86_64                                    12/33 
  Verifying  : 2:vim-filesystem-7.4.629-8.el7_9.x86_64                    13/33 
  Verifying  : perl-File-Temp-0.23.01-3.el7.noarch                        14/33 
  Verifying  : 1:perl-Pod-Simple-3.28-4.el7.noarch                        15/33 
  Verifying  : perl-Time-Local-1.2300-2.el7.noarch                        16/33 
  Verifying  : 1:perl-Pod-Escapes-1.04-299.el7_9.noarch                   17/33 
  Verifying  : perl-Carp-1.26-244.el7.noarch                              18/33 
  Verifying  : 2:vim-common-7.4.629-8.el7_9.x86_64                        19/33 
  Verifying  : perl-Scalar-List-Utils-1.27-248.el7.x86_64                 20/33 
  Verifying  : perl-Pod-Usage-1.63-3.el7.noarch                           21/33 
  Verifying  : perl-Encode-2.51-7.el7.x86_64                              22/33 
  Verifying  : perl-Pod-Perldoc-3.20-4.el7.noarch                         23/33 
  Verifying  : perl-podlators-2.5.1-3.el7.noarch                          24/33 
  Verifying  : 4:perl-5.16.3-299.el7_9.x86_64                             25/33 
  Verifying  : perl-File-Path-2.09-2.el7.noarch                           26/33 
  Verifying  : perl-threads-1.87-4.el7.x86_64                             27/33 
  Verifying  : 4:perl-Time-HiRes-1.9725-3.el7.x86_64                      28/33 
  Verifying  : gpm-libs-1.20.7-6.el7.x86_64                               29/33 
  Verifying  : perl-Filter-1.49-3.el7.x86_64                              30/33 
  Verifying  : perl-Getopt-Long-2.40-3.el7.noarch                         31/33 
  Verifying  : perl-Text-ParseWords-3.29-4.el7.noarch                     32/33 
  Verifying  : 4:perl-libs-5.16.3-299.el7_9.x86_64                        33/33 

Installed:
  vim-enhanced.x86_64 2:7.4.629-8.el7_9                                         

Dependency Installed:
  gpm-libs.x86_64 0:1.20.7-6.el7                                                
  groff-base.x86_64 0:1.22.2-8.el7                                              
  perl.x86_64 4:5.16.3-299.el7_9                                                
  perl-Carp.noarch 0:1.26-244.el7                                               
  perl-Encode.x86_64 0:2.51-7.el7                                               
  perl-Exporter.noarch 0:5.68-3.el7                                             
  perl-File-Path.noarch 0:2.09-2.el7                                            
  perl-File-Temp.noarch 0:0.23.01-3.el7                                         
  perl-Filter.x86_64 0:1.49-3.el7                                               
  perl-Getopt-Long.noarch 0:2.40-3.el7                                          
  perl-HTTP-Tiny.noarch 0:0.033-3.el7                                           
  perl-PathTools.x86_64 0:3.40-5.el7                                            
  perl-Pod-Escapes.noarch 1:1.04-299.el7_9                                      
  perl-Pod-Perldoc.noarch 0:3.20-4.el7                                          
  perl-Pod-Simple.noarch 1:3.28-4.el7                                           
  perl-Pod-Usage.noarch 0:1.63-3.el7                                            
  perl-Scalar-List-Utils.x86_64 0:1.27-248.el7                                  
  perl-Socket.x86_64 0:2.010-5.el7                                              
  perl-Storable.x86_64 0:2.45-3.el7                                             
  perl-Text-ParseWords.noarch 0:3.29-4.el7                                      
  perl-Time-HiRes.x86_64 4:1.9725-3.el7                                         
  perl-Time-Local.noarch 0:1.2300-2.el7                                         
  perl-constant.noarch 0:1.27-2.el7                                             
  perl-libs.x86_64 4:5.16.3-299.el7_9                                           
  perl-macros.x86_64 4:5.16.3-299.el7_9                                         
  perl-parent.noarch 1:0.225-244.el7                                            
  perl-podlators.noarch 0:2.5.1-3.el7                                           
  perl-threads.x86_64 0:1.87-4.el7                                              
  perl-threads-shared.x86_64 0:1.43-6.el7                                       
  vim-common.x86_64 2:7.4.629-8.el7_9                                           
  vim-filesystem.x86_64 2:7.4.629-8.el7_9                                       
  which.x86_64 0:2.20-7.el7                                                     

Complete!
Removing intermediate container 1f31b178d7b0
 ---> 636ad52d5f4e
Step 6/17 : RUN yum -y install net-tools
 ---> Running in 231811e49297
Loaded plugins: fastestmirror, ovl
Loading mirror speeds from cached hostfile
 * base: mirrors.cn99.com
 * extras: mirrors.nju.edu.cn
 * updates: mirrors.ustc.edu.cn
Resolving Dependencies
--> Running transaction check
---> Package net-tools.x86_64 0:2.0-0.25.20131004git.el7 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

================================================================================
 Package         Arch         Version                          Repository  Size
================================================================================
Installing:
 net-tools       x86_64       2.0-0.25.20131004git.el7         base       306 k

Transaction Summary
================================================================================
Install  1 Package

Total download size: 306 k
Installed size: 917 k
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Installing : net-tools-2.0-0.25.20131004git.el7.x86_64                    1/1 
  Verifying  : net-tools-2.0-0.25.20131004git.el7.x86_64                    1/1 

Installed:
  net-tools.x86_64 0:2.0-0.25.20131004git.el7                                   

Complete!
Removing intermediate container 231811e49297
 ---> e7d6bb4a5865
Step 7/17 : RUN yum -y install glibc.i686
 ---> Running in 7d5529db79c6
Loaded plugins: fastestmirror, ovl
Loading mirror speeds from cached hostfile
 * base: mirrors.cn99.com
 * extras: mirrors.nju.edu.cn
 * updates: mirrors.ustc.edu.cn
Resolving Dependencies
--> Running transaction check
---> Package glibc.i686 0:2.17-326.el7_9 will be installed
--> Processing Dependency: glibc-common = 2.17-326.el7_9 for package: glibc-2.17-326.el7_9.i686
--> Processing Dependency: libfreebl3.so(NSSRAWHASH_3.12.3) for package: glibc-2.17-326.el7_9.i686
--> Processing Dependency: libfreebl3.so for package: glibc-2.17-326.el7_9.i686
--> Running transaction check
---> Package glibc-common.x86_64 0:2.17-317.el7 will be updated
--> Processing Dependency: glibc-common = 2.17-317.el7 for package: glibc-2.17-317.el7.x86_64
---> Package glibc-common.x86_64 0:2.17-326.el7_9 will be an update
---> Package nss-softokn-freebl.x86_64 0:3.53.1-6.el7_9 will be updated
---> Package nss-softokn-freebl.i686 0:3.67.0-3.el7_9 will be installed
--> Processing Dependency: nss-util >= 3.67.0-1 for package: nss-softokn-freebl-3.67.0-3.el7_9.i686
--> Processing Dependency: nspr >= 4.30.0 for package: nss-softokn-freebl-3.67.0-3.el7_9.i686
---> Package nss-softokn-freebl.x86_64 0:3.67.0-3.el7_9 will be an update
--> Running transaction check
---> Package glibc.x86_64 0:2.17-317.el7 will be updated
---> Package glibc.x86_64 0:2.17-326.el7_9 will be an update
---> Package nspr.x86_64 0:4.25.0-2.el7_9 will be updated
---> Package nspr.x86_64 0:4.32.0-1.el7_9 will be an update
---> Package nss-util.x86_64 0:3.53.1-1.el7_9 will be updated
---> Package nss-util.x86_64 0:3.67.0-1.el7_9 will be an update
--> Finished Dependency Resolution

Dependencies Resolved

================================================================================
 Package                  Arch         Version              Repository     Size
================================================================================
Installing:
 glibc                    i686         2.17-326.el7_9       updates       4.3 M
Installing for dependencies:
 nss-softokn-freebl       i686         3.67.0-3.el7_9       updates       325 k
Updating for dependencies:
 glibc                    x86_64       2.17-326.el7_9       updates       3.6 M
 glibc-common             x86_64       2.17-326.el7_9       updates        12 M
 nspr                     x86_64       4.32.0-1.el7_9       updates       127 k
 nss-softokn-freebl       x86_64       3.67.0-3.el7_9       updates       337 k
 nss-util                 x86_64       3.67.0-1.el7_9       updates        79 k

Transaction Summary
================================================================================
Install  1 Package  (+1 Dependent package)
Upgrade             ( 5 Dependent packages)

Total download size: 20 M
Downloading packages:
Delta RPMs disabled because /usr/bin/applydeltarpm not installed.

--------------------------------------------------------------------------------
Total                                               35 kB/s |  20 MB  09:45     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Updating   : nss-softokn-freebl-3.67.0-3.el7_9.x86_64                    1/12 
  Updating   : glibc-common-2.17-326.el7_9.x86_64                          2/12 
  Updating   : glibc-2.17-326.el7_9.x86_64                                 3/12 
  Updating   : nspr-4.32.0-1.el7_9.x86_64                                  4/12 
  Updating   : nss-util-3.67.0-1.el7_9.x86_64                              5/12 
  Installing : nss-softokn-freebl-3.67.0-3.el7_9.i686                      6/12 
  Installing : glibc-2.17-326.el7_9.i686                                   7/12 
  Cleanup    : nspr-4.25.0-2.el7_9.x86_64                                  8/12 
  Cleanup    : nss-util-3.53.1-1.el7_9.x86_64                              9/12 
  Cleanup    : nss-softokn-freebl-3.53.1-6.el7_9.x86_64                   10/12 
  Cleanup    : glibc-common-2.17-317.el7.x86_64                           11/12 
  Cleanup    : glibc-2.17-317.el7.x86_64                                  12/12 
  Verifying  : glibc-common-2.17-326.el7_9.x86_64                          1/12 
  Verifying  : nss-softokn-freebl-3.67.0-3.el7_9.x86_64                    2/12 
  Verifying  : glibc-2.17-326.el7_9.x86_64                                 3/12 
  Verifying  : nss-util-3.67.0-1.el7_9.x86_64                              4/12 
  Verifying  : nspr-4.32.0-1.el7_9.x86_64                                  5/12 
  Verifying  : glibc-2.17-326.el7_9.i686                                   6/12 
  Verifying  : nss-softokn-freebl-3.67.0-3.el7_9.i686                      7/12 
  Verifying  : glibc-2.17-317.el7.x86_64                                   8/12 
  Verifying  : glibc-common-2.17-317.el7.x86_64                            9/12 
  Verifying  : nspr-4.25.0-2.el7_9.x86_64                                 10/12 
  Verifying  : nss-softokn-freebl-3.53.1-6.el7_9.x86_64                   11/12 
  Verifying  : nss-util-3.53.1-1.el7_9.x86_64                             12/12 

Installed:
  glibc.i686 0:2.17-326.el7_9                                                   

Dependency Installed:
  nss-softokn-freebl.i686 0:3.67.0-3.el7_9                                      

Dependency Updated:
  glibc.x86_64 0:2.17-326.el7_9     glibc-common.x86_64 0:2.17-326.el7_9       
  nspr.x86_64 0:4.32.0-1.el7_9      nss-softokn-freebl.x86_64 0:3.67.0-3.el7_9 
  nss-util.x86_64 0:3.67.0-1.el7_9 

Complete!
Removing intermediate container 7d5529db79c6
 ---> 12d42a5b6004
Step 8/17 : RUN mkdir /usr/local/java
 ---> Running in 3e8a6abff8e2
Removing intermediate container 3e8a6abff8e2
 ---> f4c3fd2bae1f
Step 9/17 : ADD jdk-8u171-linux-x64.tar.gz /usr/local/java/
 ---> 440a6bd6da61
Step 10/17 : ENV JAVA_HOME /usr/local/java/jdk1.8.0_171
 ---> Running in 24bc3cb8bd04
Removing intermediate container 24bc3cb8bd04
 ---> 13c4ca55f35e
Step 11/17 : ENV JRE_HOME $JAVA_HOME/jre
 ---> Running in 782b9bbf4d78
Removing intermediate container 782b9bbf4d78
 ---> f9051f305225
Step 12/17 : ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib:$CLASSPATH
 ---> Running in 937c1030ddd1
Removing intermediate container 937c1030ddd1
 ---> d9d89b3a80e0
Step 13/17 : ENV PATH $JAVA_HOME/bin:$PATH
 ---> Running in 92d4091fcb25
Removing intermediate container 92d4091fcb25
 ---> 3e3fe4a7e8ee
Step 14/17 : EXPOSE 80
 ---> Running in 3478980aa8b5
Removing intermediate container 3478980aa8b5
 ---> 370ac0bf88e2
Step 15/17 : CMD echo $MYPATH
 ---> Running in eeb80d74b277
Removing intermediate container eeb80d74b277
 ---> 7c81a14e5fff
Step 16/17 : CMD echo "success###############ok"
 ---> Running in bfb99fd052de
Removing intermediate container bfb99fd052de
 ---> 94dc9fe4a32f
Step 17/17 : CMD /bin/bash
 ---> Running in f5e3b73e37ec
Removing intermediate container f5e3b73e37ec
 ---> 24af206ac896
Successfully built 24af206ac896
Successfully tagged centosjava8:1.5

UnionFS(联合文件系统):Union文件系统(UnionFS)是一种分层、轻量级并且高性能的文件系统,它支持对文件系统的修改作为一次提交来一层层的叠加,同时可以将不同目录挂载到同一个虚拟文件系统下(unite several directories into a single virtual filesystem)。Union 文件系统是 Docker 镜像的基础。镜像可以通过分层来进行继承,基于基础镜像(没有父镜像),可以制作各种具体的应用镜像。

回头看看构建过程中的17个步骤, 再自行体会一下什么是联合文件系统。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Docker容器 - DockerFile详解 的相关文章

随机推荐

  • 4.HLSL Effect(效果框架)

    4 HLSL Effect xff08 效果框架 xff09 进行到这里 xff0c 读者可能会觉得使用着色器多少有些繁琐 xff0c Effect xff08 效果框架 xff09 被提出以解决这些问题 作为一种方法 xff0c Effe
  • 4.2用Effect实现多纹理化效果

    4 2 用 Effect 实现多纹理化效果 前面我们介绍了一个使用像素着色器实现的多纹理化 xff0c 这里用 Effect 框架重新给于实现 xff0c 读者可以比较两者之间的异同 xff0c 体会 Effect 框架给我们带来了哪些方面
  • HLSL初级教程-结语,参考资料

    结语 至此 xff0c HLSL 初级内容介绍完毕 xff0c 相信读者已经对 HLSL 着色器 Effect 等概念有了比较深入的理解 xff0c 并且掌握了 HLSL 编程的基本方法 xff0c 文章中裁去了对 HLSL 语法等细节的讨
  • Unity 3D网页游戏 Demo 展示

    2011 年 xff0c 网页 3D 这一网游开发新趋势逐渐浮出水面 xff0c Unity 作为浏览器及移动设备 3D 引擎领域的佼佼者 xff0c 在国内开始崭露头角 我们团队也完成了首款 Unity Demo 的第一个版本 Demo
  • 用Ogre实现无缝地图

    用 Ogre 实现无缝地图 1 7 版本之前 xff0c 如果想用 Ogre 内建的地形系统实现一个像样的无缝地图 xff0c 恐怕要闹到抓狂 所幸 sinbad 在 1 7 为 Ogre 加入了全新的地形组件 xff0c 它囊括了一个地形
  • 一劳永逸地解决寻路问题

    一劳永逸地解决寻路问题 作者 xff1a PaulT 译者 xff1a trcj 原文 xff1a http www ai blog net archives 000152 html 通常我都会尽量避免对业内游戏产品或开发者们评头论足 但这
  • 口吐莲花

    久不更新blog xff0c 优狗 进展尚可 xff0c 新项目又开 xff0c 忙里偷闲想写点东西 xff0c 一时竟无从下笔 xff0c 以往那种花几天甚至几星期整理一篇技术文章的机会恐怕越来越少了 六月份 优狗 团队新入数名成员 xf
  • Unity3D运行时刻资源管理

    Unity运行时刻资源管理 Asset Bundles 制作 xff1a BuildPipeline BuildAssetBundle 加载 xff1a AssetBundle Load 卸载 xff1a AssetBundle Unloa
  • Unity3D页游《坦克英雄》发布!

    坦克英雄 是一款主打PVP的射击类3D竞技页游 xff0c 它基于Unity引擎 xff0c 以二战坦克为题材 xff0c 既保留了射击类游戏的操作性 xff0c 又缓和了其与页游载体看似相悖的剧烈节奏 xff0c 目前游戏的核心玩法及主体
  • 给我时间

    Jenifer Tell 39 ment de gens veulent Tell 39 ment tre aim s Pour se donner peuvent Tout abandonner Tellement d 39 erreur
  • Docker 查看Image镜像的Dockerfile方法

    Dokcer中使用的Image镜像可能别人写好 xff0c 我们下载来直接使用 xff0c 但有些情况可能不能满足我们的需求 xff0c 那就需要修改镜像 xff0c 一般可以通过在容器中修改 xff0c 之后在生成镜像 xff0c 但有时
  • (三)ROS上位机与stm32进行串口通信

    ROS上位机与stm32进行串口通信 1 1 ROS发送数据1 2 stm32接收数据2 1 stm32发送数据2 2 ROS接收数据上位机串口初始化文件代码下位机stm32的串口配置代码 总代码在文末 xff0c 需要完整的工程文件可以留
  • 智能车摄像头算法——寻线

    寻线 1 灰度图像二值化2 找边线3 获得中线 1 灰度图像二值化 如果使用的是小钻风摄像 xff08 二值化摄像头 xff09 xff0c 就不用再进行软件二值化 使用灰度摄像头 xff0c 就需要这步 以下展示常用的大津法 xff08
  • 【Vue】在vue中命名的时候会遇到 component name “index“ should always be multi-word的解决方案

    Vue 在vue中命名的时候会遇到 component name index should always be multi word的解决方案 文章目录 Vue 在vue中命名的时候会遇到 component name 34 index 3
  • docker容器和镜像的停止和删除

    文章目录 docker容器和镜像的停止和删除1 列出所有docker镜像2 查看正在运行的 或所有的docker容器3 停止所有容器4 删除所有容器5 删除所有镜像通过 image name 删除单个镜像通过 image id 删除单个镜像
  • Windows上应用Docker容器技术的动态代码测试

    转载自维克多汽车技术 xff08 上海 xff09 有限公司 xff0c 作者Vector China 随着软件项目复杂度的提升和不可控的团队资源变更 xff0c 研发组织对DevOps部署的灵活性 可快速迁移和适配CI CD的迭代提出了更
  • 写学术论文的一些感想

    我自己写得是真差 xff01 虽然和我英语程度低有一定的关系 xff0c 最重要的是没有这个基础的底蕴和不明白自己做的东西的意义 所以来总结一下关于学术论文的想法 1 最基础的 xff0c 最重要的 xff0c 你要做出东西来 xff0c
  • kvaser怎么用?Kvaser 汽车CAN通讯协议总线分析仪新手入门常见问题解决方案教程

    logo png 1 驱动安装问题 答 xff1a 驱动程序安装问题通常是由防病毒软件引起的 在驱动程序安装期间 xff0c 常见问题是无法安装枚举服务 解决方案 xff1a 确保您的防病毒软件已关闭 xff0c 然后再次安装驱动程序 2
  • 图解git使用

    1 基本用法 上面的四条命令在工作目录 暂存目录 也叫做索引 和仓库之间复制文件 git add em files em 把当前文件放入暂存区域 对比stage和working dir xff0c 如果有改变就增加 xff1b 如果没有改变
  • Docker容器 - DockerFile详解

    目录 DockerFile 一 是什么 二 构建步骤 DockerFile构建过程 一 DockerFile基础 二 Docker执行DockerFile的流程 三 总结 DockerFile常用保留字 零 参考Tomcat的DockerF