在足球还叫蹴鞠的时候,我就写了一篇有关于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环境变量,这是因为我使用RUN
z执行了java -version
命令。
docker images
命令查看我有没有我们刚刚构建好的镜像
这时候表示镜像构建成功。
docker run
通过构建好的新镜像跑一个容器
本网页所有视频内容由 imoviebox边看边下-网页视频下载, iurlBox网页地址收藏管理器 下载并得到。
ImovieBox网页视频下载器 下载地址: ImovieBox网页视频下载器-最新版本下载
本文章由: imapbox邮箱云存储,邮箱网盘,ImageBox 图片批量下载器,网页图片批量下载专家,网页图片批量下载器,获取到文章图片,imoviebox网页视频批量下载器,下载视频内容,为您提供.
阅读和此文章类似的: 全球云计算