Docker学习系列(五):Dockerfile文件
来源:互联网 发布:百度统计怎么查看数据 编辑:程序博客网 时间:2024/04/29 17:52
什么是Dockerfile?
- 它是一个名称为Dockerfile的文件
- 它是一个脚本文件,由一系列命令和参数构成
Dockerfile是自动构建docker镜像的配置文件,可以让用户自定义构建docker镜像,Dockerfile中的命令非常类似linux shell下的命令
一般,Dockerfile分为4部分:
(1)基础镜像(父镜像)信息
(2)维护者信息
(3)镜像操作命令
(4)容器启动命令
Dockerfile语法
Dockerfile中的语句包括2部分:
(1)注释,以井号#开头
(2)命令+参数
下面给出一个例子,其中,第一行为“注释行”,第二行为“命令+参数行”:
# Print "Hello docker!"RUN echo "Hello docker!"
dockerfile大概有十几条命令用来构造镜像
Dockerfile实例
## MAINTAINER Carson,C.J.Zeong <zcy@nicescale.com># DOCKER-VERSION 1.6.2## Dockerizing CentOS7: Dockerfile for building CentOS images#FROM centos:centos7.1.1503MAINTAINER Carson,C.J.Zeong <zcy@nicescale.com>ENV TZ "Asia/Shanghai"ENV TERM xtermADD aliyun-mirror.repo /etc/yum.repos.d/CentOS-Base.repoADD aliyun-epel.repo /etc/yum.repos.d/epel.repoRUN yum install -y curl wget tar bzip2 unzip vim-enhanced passwd sudo yum-utils hostname net-tools rsync man && \ yum install -y gcc gcc-c++ git make automake cmake patch logrotate python-devel libpng-devel libjpeg-devel && \ yum install -y --enablerepo=epel pwgen python-pip && \ yum clean allRUN pip install supervisorADD supervisord.conf /etc/supervisord.confRUN mkdir -p /etc/supervisor.conf.d && \ mkdir -p /var/log/supervisorEXPOSE 22ENTRYPOINT ["/usr/bin/supervisord", "-n", "-c", "/etc/supervisord.conf"]
分部讲解为:
(1)注释部分
## MAINTAINER Carson,C.J.Zeong <zcy@nicescale.com># DOCKER-VERSION 1.6.2## Dockerizing CentOS7: Dockerfile for building CentOS images#
(2)FROM centos:centos7.1.1503
其中的 centos为父镜像名称,centos7.1.1503为父镜像的tag( 如果没有指定 tag ,则默认tag是latest,如果都没有则会报错)。
作为dockerfile的第一条指令,用来设置基本的镜像(基于父镜像),为后续的命令使用;
(3)MAINTAINER Carson,C.J.Zeong <zcy@nicescale.com>
MAINTAINER命令用来指定维护者的姓名和联系方式
(4)ENV TZ “Asia/Shanghai”
ENV(environment)命令用来设置环境变量,一个Dockerfile中可以写多个,本句的目的是:设置docker容器的时区为Shanghai
MAINTAINER Kai Arulkumaran <design@kaixhin.com>
RUN 命令
RUN命令会在FROM指定的镜像里执行任何命令,然后提交(commit)结果,提交的镜像会在后面继续用到。
ENV 命令
用于设置环境变量
例子:
ENV PYTHONPATH=/root/caffe/python:$PYTHONPATH
WORKDIR 命令
设置working directory
如何编译dockerfile
sudo docker build -it imageName .
Dockerfile相关资料
cSphere Docker 实训课程
登陆后可以免费观看,课程网址:https://csphere.cn/training
同时,还有课程内容记录的文档,文档地址:http://git.oschina.net/dockerf/docker-training
- Docker学习系列(五):Dockerfile文件
- docker学习笔记(五): Dockerfile指令
- Docker学习笔记五:Dockerfile
- 3.docker学习笔记:编写Dockerfile文件
- 12 - Dockerfile指令集(Docker系列)
- Docker系列(四)Dockerfile
- docker学习笔记(2)---Dockerfile
- Docker学习笔记(一):Dockerfile常用命令
- Docker学习(1)-Dockerfile
- docker学习9--Dockerfile
- Docker学习笔记:Dockerfile
- docker学习之Dockerfile
- Docker学习笔记:Dockerfile
- docker 学习之Dockerfile
- Docker学习笔记:Dockerfile
- Docker学习笔记:Dockerfile
- Docker学习八:Dockerfile
- docker学习笔记4.1-使用Dockerfile文件构建镜像
- esxi在终端开启命令行模式
- Spark map 遍历rdd中的每个元素
- CSAPP LAB4 perflab-handout性能优化 smooth负优化详解
- 解决Can’t connect to local MySQL server through socket ‘/tmp/mysql.sock’错误
- python处理文件tab替换成空格
- Docker学习系列(五):Dockerfile文件
- 第十二周项目 Time类中的运算符重载
- 常用排序算法总结(Java)
- 设计用户界面
- 树
- 希尔排序java版
- Precision和Recall
- Problem H: Eat Candy
- thinkphp RBAC权限节点递归