Dockerfile
一、什么是dockerFile
-
dockerfile是用来构建docker镜像的文件!命令参数脚本。
-
docker我的理解是,运行在linux上的虚拟机(优点是比虚拟机占用更少的内存),可以快速的封装下载开发环境。解决了开发到生产时系统版本的冲突问题。比如:有个特殊版本的数据库,只有Ubuntu支持,centos不支持,在转移的过程当中运维就得想办法解决这样的问题。这时候如果用docker就可以将开发环境直接封装成一个镜像,然后转交给运维。运维直接下载镜像,部署就可以了。方便、快速
-
专业术语:
Dockerfile--------------------docker文件
DockerImages--------------docker镜像
Docker容器:DockerImages运行起来形成能提供服务的容器
二、 DockerFile的构建步骤
-
编写dockerfile文件
-
docker build 构建成为一个镜像 (也就是Dockerimages)
-
docker run 运行镜像
-
docker push 发布镜像
这里要说明下,官方的镜像实际是提交到了github上了,那么我们应该怎样制作自己的镜像呢?
三、Docker的构建过程
3.1 基础知识
- 每个指令都必须是大写字母
- 执行顺序从上到下
- 注释 #
- 每个指令创建一个镜像层,并提交
3.2 Docker指令
- FROM:构建基础镜像,镜像从哪儿来
- MAINTAINER:镜像的维护者
- RUN:镜像构建的时候,需要运行的命令
- ADD:添加镜像的压缩包
- WORKDIR:镜像的工作目录
- VOLUME:挂载的目录
- EXPOSE:保留端口的配置
- CMD: 制定容器启动时候的命令
- ENTRYPOINT: 给容器添加启动命令的别称
- ONBUILD: 是一个触发指令,构建Dockerfile指令时候会运行
- COPY:将文件拷贝到镜像,和ADD相似
- ENV:构建环境时设置的环境变量,已键值对的形式存储
四、实例理解
4.1 Centos镜像
- 编写文件
cd home —进入home文件夹
mkdir dockerfile – 创建dockerfile文件夹
vim zzb-dockerfile – 创建并且编辑 zzb-dockerfile文件
FROM centos
MAINTAINER zzb < 10*****5@qq.com >
ENV MYPATH /user/local
WORKDIR MYPATH
RUN yum -y install vim
RUN yum -y install net-tools
EXPOSE 80
CMD echo $MYPATH
CMD echo "---end---"
CMD /bin/bash
- 构建文件成镜像文件
docker build -f dockerfile文件路径 -t 镜像名:[tag] .
4.2 Tomcat镜像
- 准备镜像文件的压缩包,jdk的压缩包
- 编写docker文件