文档详情

Docker容器技术 配置、部署与应用(第2版)(微课版)-项目6.pptx

发布:2025-05-16约1.76万字共73页下载文档
文本预览下载声明

Docker容器技术配置、部署与应用工业和信息化精品系列教材——云计算技术项目6应用程序容器化

能力CAPACITY要求进一步熟悉镜像,掌握开发镜像的方法。熟悉应用程序容器化的基本方法和步骤。掌握Java应用程序容器化的方法。掌握Python应用程序容器化的方法。

任务6.2对应用程序进行容器化任务6.1构建应用程序镜像任务6.3Java应用程序容器化任务6.4Python应用程序容器化

任务6.1构建应用程序镜像任务说明01OPTION02OPTION03OPTION了解编写Dockerfile应遵循的准则和建议了解应用程序镜像包含的内容进一步熟悉构建镜像并进行测试的操作步骤04OPTION掌握多阶段构建镜像的方法

任务6.1构建应用程序镜像知识引入6.1.1编写Dockerfile应遵循的准则和建议创建短生命周期的容器。正确理解构建上下文。使用.dockerignore文件排除与构建无关的文件。使用多阶段构建。①安装构建应用程序所需的工具。②安装或更新库依赖。③生成应用程序。不要安装不必要的包。

任务6.1构建应用程序镜像知识引入6.1.1编写Dockerfile应遵循的准则和建议解耦应用程序。对多行参数排序。利用构建缓存。固定基础镜像版本。

任务6.1构建应用程序镜像知识引入6.1.2创建自己的基础镜像如果多个镜像有很多共同点,则可以将公共部分抽出来创建自己的基础镜像,然后再基于它创建每个镜像。基础镜像在其Dockerfile中没有定义FROM指令,或者FROM指令的参数为scratch。使用Debootstrap创建一个Ubuntu父镜像的Dockerfile示例。debootstrapxenialxenial/dev/nulltar-Cxenial-c.|dockerimport-xenialdockerrunxenialcat/etc/lsb-releaseDISTRIB_ID=UbuntuDISTRIB_RELEASE=16.04DISTRIB_CODENAME=xenialDISTRIB_DESCRIPTION=Ubuntu16.04LTS

任务6.1构建应用程序镜像知识引入6.1.3确定应用程序镜像包含的内容①选择基础镜像。②安装必要的软件包。③添加自定义文件。④定义容器运行时的用户权限,尽可能避免容器以root权限运行。⑤定义要对外暴露的端口。⑥定义应用程序的入口点。⑦定义配置方式。⑧持久化应用程序数据。

任务6.1构建应用程序镜像知识引入6.1.4应用程序镜像的构建和管理构建镜像执行镜像构建时要注意不要依赖自动创建的latest标签。构建镜像时应始终添加有意义的标签。管理镜像镜像是打包好的Docker应用程序,生成的镜像需要后续管理。发布镜像最简单的办法是使用Docker注册中心。

任务6.1构建应用程序镜像任务6.1.1使用scratch创建简单的镜像①建立一个目录用作构建上下文,并切换到该目录。②在该目录中准备所需的文件,添加一个可执行文件hello用于实验。该文件来自官方镜像hello-world。③创建Dockerfile文件并加入以下内容。FROMscratchADDhello/CMD[/hello]④使用dockerbuild命令构建镜像。[root@host1baseimg-scratch]#dockerbuild--taghello.⑤使用dockerrun命令运行这个新镜像启动一个容器,显示的结果与官方镜像hello-world相同。[root@host1baseimg-scratch]#dockerrun--rmhelloHellofromDocker!……任务实现

任务6.1构建应用程序镜像任务6.1.2制作基于VNC的Firefox镜像①建立一个目录用作构建上下文,并切换到该目录。②在该目录中创建Dockerfile文件。FROMubuntu:20.04#安装用于创建图形用户界面的VNC和Xvfb,以及浏览器FirefoxRUNaptupdateaptinstall-yx11vncxvfbfirefoxRUNmkdir~/.vnc#设置VNC登录密码RUNx11vnc-storepasswd1234~/.vnc/passwd#自动启动FirefoxRUNbash-cechofirefox/.bashrcEXPOSE5900CMD[x11vnc,-forever,-usepw,

显示全部
相似文档