全csdn最新最全的Dockerfle实战,偷偷学习然后卷死他们

 1.前言

在前面的技术文章中介绍了Docker中镜像的管理和Docker容器的管理,本系列文章主要详细的介绍Dockerfile的案例应用和实战。 那么什么是Dockerfile?使用dockerfile主要是用于构建docker镜像文件信息,相当于一个脚本,通过dockerfile自己的指令,来构建软件依赖,文件依赖,存储等等情况。

2.Dockerfile的作用

     在docker中创建镜像可以分为两个方法,这两个方法具体可以总结为如下:

  • 手动修改容器内容,然后docker commit提交容器为新的镜像文件

  • 通过在dockerfile中定义一系列的命令和参数构成的脚本,然后这些命令应用于基础镜像,依次添加层,最终生成一个新的镜像,这样就极大的简化了部署的工作。

3.Dockerfile组成部分

dockerfile的主要组成部分可以汇总为:

  • 基础镜像信息

  • 制作镜像操作指令 RUM

  • 容器启动时执行指令CMD["/bin/bash"]

4.Dockerfile基本指令

    dockerfile的指令主要可以汇总为如下,使用dockerfile的前提是学习会这些指令的基本使用,这些基本指令具体汇总如下:

  • FROM #指令基础镜像

  • MAINTAINER #指定维护者信息,也可以没有

  • RUN #具体执行的操作,在命令前面加上RUN即可

  • ADD #COPY文件,会自动进行解压

  • WORKDIR #设置当前工作目录

  • VOLUME  #设置卷,挂载主机目录

  • EXPOSE #指定对外的端口

  • CMD #指定容器启动后需要干的事情

  • COPY #复制文件

  • ENV #环境变量

  • ENIRYPOINT #容器启动后执行的命令

5.Dockerfile实战

      容器能够运行的前提是必须在容器内,有一个进程在前台运行,该容器内,比如是MySQL,那么也就是说有MySQL正在前台运行。下面演示一个Linux中调用变量的案例应用,具体Dockerfile文件信息如下所示:

FROM centos:7.8.2003
MAINTAINER 无涯
ENV name Docker
ENTRYPOINT  echo "Hello $name"

下面详细的演示构建Dockerfile的过程信息,构建的命令以及构建的过程具体如下:

#构建Dockerfile的镜像信息
docker build .

#执行如上构建的指令后,输出如下的信息
Sending build context to Docker daemon  15.87kB
Step 1/4 : FROM centos:7.8.2003
7.8.2003: Pulling from library/centos
9b4ebb48de8d: Pull complete
Digest: sha256:8540a199ad51c6b7b51492fa9fee27549fd11b3bb913e888ab2ccf77cbb72cc1
Status: Downloaded newer image for centos:7.8.2003
---> afb6fca791e0
Step 2/4 : MAINTAINER 无涯
---> Running in 2bfd2fad4751
Removing intermediate container 2bfd2fad4751
---> 71dad12c4110
Step 3/4 : ENV name Docker
---> Running in f70dc098790d
Removing intermediate container f70dc098790d
---> 3c5b5a752709
Step 4/4 : ENTRYPOINT  echo "Hello $name"
---> Running in cf39ef605a9a
Removing intermediate container cf39ef605a9a
---> 2e70823e2d4a
Successfully built 2e70823e2d4a

构建镜像成功后,可以查看该镜像信息以及运行该容器,执行的结果就会显示“Hello Docker”,具体见如下的操作过程:

#查看镜像的信息
[root@wuyaShare learnDocker]# docker images
REPOSITORY   TAG        IMAGE ID       CREATED         SIZE
            2e70823e2d4a   4 minutes ago   203MB
centos       7.8.2003   afb6fca791e0   17 months ago   203MB

#修改镜像的名称
[root@wuyaShare learnDocker]# docker tag 2e70823e2d4a centos_hello
#查看修改后的镜像名称
[root@wuyaShare learnDocker]# docker images
REPOSITORY     TAG        IMAGE ID       CREATED         SIZE
centos_hello   latest     2e70823e2d4a   5 minutes ago   203MB
centos         7.8.2003   afb6fca791e0   17 months ago   203MB

#运行镜像以及显示镜像运行后的信息
[root@wuyaShare learnDocker]# docker  run -it --rm centos_hello bash
Hello Docker

       如上可以看到,通过一个实际的案例演示了Dockerfile的实战应用,继续会陆续的完善通过Dockerfile来部署Python&Java的应用程序。感谢您的阅读,后续会持续的更新。

感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

① 2000多本Python电子书(主流和经典的书籍应该都有了)

② Python标准库资料(最全中文版)

③ 项目源码(四五十个有趣且经典的练手项目及源码)

④ Python基础入门、爬虫、web开发、大数据分析方面的视频(适合小白学习)


 ⑤ Python学习路线图(告别不入流的学习)

在我的QQ技术交流群里(技术交流和资源共享,广告进来腿给你打断)

可以自助拿走,群号913569736(备注“csdn000”)群里的免费资料都是笔者十多年测试生涯的精华。还有同行大神一起交流技术哦。

你可能感兴趣的:(http,软件测试,python,docker,linux,python,测试用例,selenium)