在足球还叫蹴鞠的时候,我就写了一篇有关于dockerfile的文章,本来想着靠那篇文章火一把,从此脱离开发仔的身份,专心写文。结果很意外,这篇Dockerfile指令详解的文章竟然访问量比我的头发还少。甚至好长一段时间我都忘了它的存在,该死! 在经过了长时间的思考后,我终于知道为什么这篇文章会不火了,我他妈没买量!!! 好吧,上面扯那么多其实就是为了植入我那篇过气的文章。下面进入主题。 在我们想把自己的程序打包成镜像,并运行在docker容器中的时候我们应该怎么做呢? 1.编写Dockerfile文件。 不了解Dockerfile指令的请跳转链接。 2.将你的 注意: 由于我上面dockerfile的例子 3.在Dockerfile所在的目录下运行 不了解 注意: 4.我们执行一下 5.使用 6.访问一下 成功!!!
…#指定基础镜像(一般指定程序所依赖的环境) #本例子是构建SpringBoot所以我指定的jdk环境变量 FROM openjdk:11 #添加维护者信息 MAINTAINER author:edison MAINTAINER mail:edisonlil@163.com #将./hello-world.jar添加到容器的/opt目录中 COPY ./hello-world.jar /opt #指定dockerfile的命令在哪个目录下执行 WORKDIR /opt #指定容器和外界交互的端口 EXPOSE 80 #容器运行后执行的命令(该命令在WORKDIR指定的工作目录下执行) #注意:多个CMD指令只有最后一个会生效 CMD java -jar hello-world.jar #在构建镜像时执行的命令 #我这边用它来打印java的环境变量 RUN java -version #添加该镜像的元数据 LABEL version="1.0" description="这是一个Web服务器" by="edc"
Dockerfile文件和你的jar包放在同一个目录里Dockerfile和jar包最好存放在一个创建好的空目录里,不要放在/目录中,因为构建是由Docker守护程序而不是CLI运行的。构建过程要做的第一件事是将整个上下文(递归)发送到守护程序。在大多数情况下,最好以空目录作为上下文,并将Dockerfile保留在该目录中。仅添加构建Dockerfile所需的文件。所以如果你要是将Dockerfile放在/目录构建,你就是在犯罪,懂吗?

hello-world.jar是放在./目录下也就是和Dockerfile的同一目录,如果说你的jar包不和dockerfile同一目录的话那么COPY指令的那个./hello-world.jar就要换成你jar包存放的路径。
docker build --tag web:latest .命令docker build命令的请跳转链接。docker build 后面要加.参数,代表着构建当前目录的Dockerfile文件。而--tag是给镜像取一个名字,并指定镜像的版本号,此时构建好的镜像名字为web,版本号为latest。

可以看到执行了docker build .后除了打印指令的执行信息之外还在8/9行中打印了容器里的JDK环境变量,这是因为我使用RUNz执行了java -version命令。
docker images命令查看我有没有我们刚刚构建好的镜像

这时候表示镜像构建成功。
docker run通过构建好的新镜像跑一个容器


本网页所有视频内容由 imoviebox边看边下-网页视频下载, iurlBox网页地址收藏管理器 下载并得到。
ImovieBox网页视频下载器 下载地址: ImovieBox网页视频下载器-最新版本下载
本文章由: imapbox邮箱云存储,邮箱网盘,ImageBox 图片批量下载器,网页图片批量下载专家,网页图片批量下载器,获取到文章图片,imoviebox网页视频批量下载器,下载视频内容,为您提供.
阅读和此文章类似的: 全球云计算
官方软件产品操作指南 (170)