Dockerfile的简介及使用(八)
问题背景
平常拉取docker可以直接从官网拉取,自己的服务也可以构建成镜像,自己随时使用
Docker无介绍快使用,安装部署hello测试(一)
Docker无介绍快使用,docker指令使用(二)
Docker无介绍快使用,docker数据卷Volumes挂载的使用(三)
Docker无介绍快使用,docker拉取mysql5.7及使用(四)
Docker无介绍快使用,docker拉取tomcat及使用(五)
Docker无介绍快使用,docker拉取Nginx(六)
Docker无介绍快使用,docker拉取redis(七)
Dockerfile的简介及使用(八)
Dockerfile
1 Dockerfile用来自己构建一个镜像的构建文件,使我们自己的应用可以容器运行
2 Dockerfile构建原理
3 Dockerfile命令说明
保留字 | 作用 |
---|---|
FROM | 当前镜像属于哪一个镜像,第一个指令必须为FROM |
MAINTAINER | 镜像维护者的姓名和邮箱 |
RUN | 构建镜像时需要运行的指令 |
EXPOSE | 当前容器对外暴露的端口号 |
WORKDIR | 指定在创建容器后,终端默认登录进来的工作目录 |
ENV | 在构建镜像的过程中设置环境变量 |
ADD | 将宿主机目录下的文件拷贝进镜像,并且ADD命令会自动处理URL和解压tar包 |
COPY | 类似于ADD,拷贝文件和目录到镜像中 从构建上下文的目录中的文件或者目录,复制到镜像内的目标位置 |
VOLUME | 容器数据卷,用于数据保存和持久化,允许哪个目录挂载 |
CMD | 指定一个容器启动时要运行的命令,可以有多个CMD,但只有最后一个生效,CMD会被docker run之后的参数替换掉 |
ENTRYPOINT | 指定一个容器启动时要运行的命令,和CMD目的一样,指定容器启动程序及参数 |
- FROM
- FROM <image>
- FROM <image>[:<tag>]
- MAINTAINER
- MAINTAINER <name>
- RUN
- RUN echo hello
- RUN [“executable”,“param1”,“param2”]
- RUN [“/bin/bash”,“-c”,“echo hello”]
- EXPOSE
- EXPOSE 80/tcp
- EXPOSE 80/udp
- CMD
- CMD [“executable”,“param1”,“param2”]
- CMD command param1 param2
- WORKDIR 路径不存在会被创建
- WORKDIR /path/to/workdir 绝对路径
- WORKDIR a 相对路径,相当于/path/to/workdir/a
- ENV
- ENV <key> <value>
- ENV <key>=<value>
- ADD
- ADD test.txt /absoluteDir/ 指定到绝对路径
- ADD test.txt relative/ 指定到相对路径
- ADD test* /a 可以使用通配符
- ADD test? /a 匹配通配符
- ADD 下载链接url /a 可以放一个下载链接,下载好之后自动放入文件夹a中
- COPY
- COPY source dest
- VOLUME 允许/data目录挂载到宿主机的目录
- VOLUME [“/data”]
- ENTRYPOINT 与CMD类似,ENTRYPOINT用于写死指令,因为CMD更容易覆盖
- ENTRYPOINT [“executable”,“param1”,“param2”]
- ENTRYPOINT command param1 param2
4 Dockerfile样例
FROM centos:7 #从源镜像centos7开始构建
RUN yum install -y vim #构建镜像时,安装vim这个命令
#RUN ["yum","install","-y","vim"]
EXPOSE 8080
EXPOSE 8081
#COPY a.txt /data/a
ENV BASE_DIR /data/a
ADD a.txt BASE_DIR
VOLUME ["/data"]
ENTRYPOINT ls #写死指令
CMD /data/a/a.txt #可覆盖的路径
5 构建Dockerfile,Dockerfile需要在当前目录,版本号01
docker build -t mycentos:01 .
心得
- 主要讲解Dockerfile的几个常用指令,写个篇章讲解构建jar应用的Dockerfile
作为程序员第 86 篇文章,每次写一句歌词记录一下,看看人生有几首歌的时间,wahahaha …
Lyric:有目标就不累
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/110789.html