怎么使用dockerfile构建nginx镜像welcome to nginx!


今天小编给大家分享一下怎么使用dockerfile构建nginx镜像的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。dockerfile介绍
docker通过读取dockerfile里面的内容可以自动build image,dockerfile是一个包含了build过程中需要执行的所有命令的文本文件。也可以理解为dockfile是一种被docker程序解释的脚本,由一条一条的指令组成,每条指令对应linux系统下面的一条命令,由docker程序将这些dockerfile指令翻译成真正的linux命令。dockerfile有自己书写格式和支持的命令,docker程序解决这些命令间的依赖关系,类似于makefile。docker程序将读取dockerfile,根据指令生成定制的image。相比image这种黑盒子,dockerfile这种显而易见的脚本更容易被使用者接受,它明确的表明image是怎么产生的。有了dockerfile,当我们需要定制自己额外的需求时,只需在dockerfile上添加或者修改指令,重新生成image即可,省去了敲命令的麻烦。docker构建镜像的方法: commit、dockerfile  1、使用commit来构建镜像:    commit是基于原有镜像基础上构建的镜像,使用此方法构建镜像的目的:保存镜像里的一些配置信息和修改的信息。相当于一个镜像的快照。  2、使用dockerfile来构建镜像:    dockerfile是快速构建所需(自定义)镜像。dockerfile的指令:  from:指定基础镜像(from是必备的指令,并且必须为第一条指令)。  run: 用来执行命令行命令。其基本格式:      shell格式: run ,输入在bash环境中的命令即可,一个dockerfile允许使用run不得超过127层,所以,使用一次run, 使用 ‘ ‘ 换行,使用‘ && ‘执行下一条命令。一般使用此种格式;      exec格式: run ,此种方式像是函数调用中的格式;  copy: 复制文件。 其基本格式:      格式1:copy …      格式2:copy [“”,…..””]  add: 更高级的复制文件,在copy的基础上增加了一些功能,如果复制的是压缩包的话,会直接解压,而不需要在使用run解压;  cmd:容器启动命令。其基本格式:      shell格式: cmd       exec格式: cmd [“可执行文件”, “参数1”, “参数2″…]      参数列表格式: cmd [“参数1”, “参数2”…],在指定了entrypoint指令后,用cmd指定具体的参数  entrypoint: 入口点。其基本格式分为exec和shell,      entrypoint的目的和cmd一样,都是在指定容器启动程序及参数。entrypoint在运行中可以替代,不过比cmd繁琐,需要通过docker run 的参数–entrypoint 来指定。当指定了entrypoint后,cmd的含义就发生了改变,不在是直接运行其命令,而是将cmd的内容作为参数传递给entrypoint指令。其执行时就变成了:   env: 设置环境变量。(都可以使用这里使用的变量)其基本格式:      格式1:env       格式2:env ==  arg: 构建参数。构建参数和env的效果一样,都是设置环境变量,所不同的是arg所构建的环境变量在将来容器运行时是不免费云主机域名存在的。其基本格式:      格式1: arg [=]      格式2: 该默认值可以在构建命令 docker build 中用 –build-arg = 来覆盖  volume: 定义匿名卷。 其基本格式:      格式1: volume [“”, “”…]      格式2: volume   expose: 暴露端口。expose指令是声明运行时容器所提供的端口,在启动容器时不会在因为这个声明而开启端口。 其基本格式:      格式1: expose […]  workdir: 指定工作目录。其基本格式:      格式1: workdir   user: 指定当前用户。user是帮助你切换到指定用户。 其基本格式:      格式1: user   healtcheck: 健康检查,判断容器的状态是否正常。 其基本格式:      格式1: healtcheck [选项] cmd :设置检查容器健康状况的命令      格式2: healtcheck none: 如果基础镜像有健康检查指令,使用此格式可以屏蔽掉其健康检查指令构建nginx镜像:创建一个目录,在该目录里编写dockerfile:下载nginx源码包到创建的目录下(mynginx目录下):编写dockerfile:其内容如下:运行docker命令构建镜像:输出两个successfully即为构建成功!启动自定义镜像:使用 docker images 查看构建的镜像:启动自定义的镜像:注:这时,你无论怎么启动这个容器,它还是一直处于exited状态。经过各种解决,最终,终于知道问题出在了哪。 原来容器启动时,它是在后台对应着一个线程启动的,它在启动时是已经启动了,但它执行完命令后,就退出了,并没有在后台运行着,所以使用 -dit 参数让它在后台运行即可。然而…….此时又出现了问题,它虽然起来了,但nginx的web网页界面访问不了,显示拒绝连接!!!!然后,又经过问百度,fq看谷歌,终于找到了问题的所在。原来只要使用 exec 进入到容器里启动nginx就可以了。ifyouseethispage,thenginxwebserverissuccessfullyinstalledand
working.furtherconfigurationisrequired.foronlinedocumentationandsupportpleasereferto
nginx.org.
commercialsupportisavailableat
nginx.com.thankyouforusingnginx.以上就是“怎么使用dockerfile构建nginx镜像”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注百云主机行业资讯频道。

相关推荐: PyTorch中的train()、eval()和no_grad()怎么使用

本篇内容介绍了“PyTorch中的train()、eval()和no_grad()怎么使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!在PyTorch中,tr…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

Like (0)
Donate 微信扫一扫 微信扫一扫
Previous 07/20 22:22
Next 07/21 09:38

相关推荐