三、Dockerfile的说明和编写
一、docker hub的使用和说明:
我们要去找镜像,一般都会 https://hub.docker.com 的网站中去找,目前linux的容器,我们目前首选是alpine,因为容器非常小,可以满足基本的linux的环境。
二、Dockerfile的语法
Dockerfile的基本指令一共有13个
1、FROM <image>。其指定一个构建镜像的基础源镜像
2、MAINTAINER <name> <email> 指定作者和邮箱
3、RUN "command" "param1" "param2" 在镜像中执行、创建等命令
4、CMD command param1 param2 CMD在Dockerfile中只能出现一次,有多个,只有最后一个会有效。其作用是在启动容器的时候提供一个默认的命令项
5、EXPOSE <port> [<port>...] 告诉Docker服务器容器对外映射的容器端口号
6、EVN <key> <value> 设置容器的环境变量,可以让其后面的RUN命令使用
7、ADD <src> <dest> 复制本机文件或目录或远程文件,添加到指定的容器目录,支持GO的正则模糊匹配。
8、COPY <src> <dest> COPY除了不能自动解压,也不能复制网络文件。其它功能和ADD相同。
9、ENTRYPOINT "command" "param1" "param2" 这个命令和CMD命令一样,唯一的区别是不能被docker run命令的执行命令覆盖
10、VOLUME ["path"] 在主机上创建一个挂载,挂载到容器的指定路径。docker run -v命令也能完成这个操作,而且更强大。
11、USER daemon 指定运行容器时的用户名或UID
12、WORKDIR path 为RUN、CMD、ENTRYPOINT指令配置工作目录。可以使用多个WORKDIR指令,后续参数如果是相对路径,则会基于之前的命令指定的路径
13、ONBUILD [INSTRUCTION] 这个镜像创建后,如果其它镜像以这个镜像为基础,会先执行这个镜像的ONBUILD命令
三、例子
#Nginx dockerfile
#Version 1.14
#Author: gaochao
FROM centos
RUN mkdir -p /opt/soft
RUN yum install -y gcc gcc-c++ make telnet openssl-devel net-tools
ADD pcre-8.39.tar.gz /opt/soft
ADD nginx-1.14.0.tar.gz /opt/soft
WORKDIR /opt/soft/nginx-1.14.0
RUN ./configure --prefix=/usr/local/nginx \
--with-http_ssl_module \
--with-http_stub_status_module \
--with-pcre=/opt/soft/pcre-8.39 && make && make install
RUN echo "daemon off;">>/usr/local/nginx/conf/nginx.conf
ENV PATH /usr/local/nginx/sbin:$PATH
EXPOSE 80
CMD ["nginx"]
docker build -t centos_nginx:v1 .
转载于:https://www.cnblogs.com/allen-GC/p/10697182.html
三、Dockerfile的说明和编写相关推荐
- Java黑皮书课后题第3章:*3.8(对三个整数排序)编写程序,提示用户输入三个整数,以非降序的形式显示这三个整数
*3.8(对三个整数排序)编写程序,提示用户输入三个整数,以非降序的形式显示这三个整数 题目 题目概述 破题 代码 如何理解值的互换 题目 题目概述 *3.8(对三个整数排序)编写程序,提示用户输入三 ...
- Java黑皮书课后题第4章:*4.24(对三个城市排序)编写一个程序,提示用户输入三个城市名称,然后以升序进行显示
*4.24(对三个城市排序)编写一个程序,提示用户输入三个城市名称,然后以升序进行显示 题目 题目概述 运行示例 破题 代码 题目 题目概述 *4.24(对三个城市排序)编写一个程序,提示用户输入三个 ...
- CTF Web学习(三)----python脚本的编写及应用
CTF Web学习(三) python脚本的编写及应用 CTF Web学习目录链接 CTF Web学习(一):基础篇及头文件修改.隐藏 CTF Web学习(二):代码审计.burp suite应用 C ...
- 1、第一列为姓名,第二列为语文成绩,第三列为数学成绩,编写一个程序,实现(1)按要求创建这样的文件 (2)读取文件中的信息并输出以下结果: ①分别求这个班数学和语文的平均分(保留1位小数)并输出
3. 创建一个文件,内容如下: 林虹 95 98 张天天 85 85 朱莉 56 36 李乐乐 87 85 第一列为姓名,第二列为语文成绩,第三列为数学成绩,编写一个程序,实现: (1)按要求创建这样 ...
- 汇编语言(王爽第三版) 实验5编写、调试具体多个段的程序
参考:http://blog.sina.com.cn/s/blog_171daf8e00102xclx.html 汇编语言实验答案 (王爽):https://wenku.baidu.com/view/ ...
- bootstrap 页面分成三列_20分钟成功编写bootstrap响应式页面 就这么简单
最近发现一个叫 Bootstrap 的好东西,Bootstrap 是现在最流行的响应式 CSS 框架,它以移动设备优先,能够快速适应不同设备.使用它编写响应式页面快捷.方便,而且屏蔽了浏览器差异.使用 ...
- DTCMS插件的制作实例电子资源管理(三)前台模板页编写
总目录 插件目录结构(一) Admin后台页面编写(二) 前台模板页编写(三) URL重写(四) 本实例旨在以一个实际的项目中的例子来介绍如何在dtcms中制作插件,本系列文章非入门教程,部分逻辑实现 ...
- 【第三篇:利用ChatGPT编写贪食蛇小游戏】
好像现在最近对ChatGPT讨论越来越热,ChatGPT的出现应该会引发"一次新的社会变革",未来很多码农会失业啊!与其坐着被改变,不如尝试主动改变,我今天就利用ChatGPT编写 ...
- React学习(三):通过 React 编写名片组件(React属性)
阿里云服务器0元试用,首购低至0.9元/月起 [开发云]年年都是折扣价,不用四处薅羊毛 前置内容阅读 React学习(二):编写 React 组件并成功挂载 效果预览: 1. 启动 my-projec ...
最新文章
- C#调用win32 api程序实例
- px4 uavcan linux,UAVCAN总线 - UAVCAN固件升级 - 《PX4开发指南》 - 书栈网 · BookStack
- mysql innodb 多线程插入_mysql innodb 并发插入问题,包大量死锁错误
- 中年高校教师、行政人员的21个特征!
- python查看系统句柄数量_linux下查看系统进程占用的句柄数方法
- 【李宏毅机器学习】Brief Introduction of Deep Learning 深度学习简介(p12) 学习笔记
- dubbo kryo序列化_为什么如此高效?解密kryo各个数据类型的序列化编码机制,强...
- Cannot change version of project facet Dynamic Web Module to 2.5解决方案
- 服务器延迟和时间偏移怎么设置,服务器时间经常不对如何处理
- Java自动化测试——打开浏览器
- Highcharter绘制中国地图
- 记一次https的免费ssl证书安装及配置过程--window系统
- 【中级计量经济学】Lecture 8 虚拟变量回归
- linux 内核udp编程,[求助]linux内核代码udp_recvmsg()函数中的代码绕过问题。
- 牛腩老师讲B/S开发小结 触发器 主键 外键
- 关于keras.sum()和kears.softmax()等函数中维度的理解
- ML-Agents案例之蠕虫
- 网站DDOS攻击防护实战老男孩经验心得分享 【转】
- 【Lintcode】1799. Sequence Summation
- 机器学习系列(3)_逻辑回归应用之Kaggle泰坦尼克之灾
热门文章
- 零基础学python需要多久-零基础学python大概要多久
- python编程需要什么软件-python编程用哪个软件
- python进阶书籍的推荐-Python 入门到进阶书籍推荐
- python与excel的差别-python3与Excel的完美结合
- python csv读取-使用python获取csv文本的某行或某列数据的实例
- python读取csv文件制图-python读取CSV文件
- python序列类型-Python基础-序列类型的常用方法
- python装饰器-理解Python装饰器(Decorator)
- 爬虫python的爬取步骤-Python爬虫爬取数据的步骤
- python整理excel数据-python操作excel的技巧整理