dockerfile语法
dockerfiles的指令不区分大小写,但约定为全部大写
dockerfiles支持如下语法命令:
1.FROM <image name>
所有的dockerfile都必须以from命令开始,from命令会指定镜像基于哪个基础镜像而创建
如:
FROM ubuntu
2.MAINTAINER <author name>
设置该镜像的作者
3.RUN <command>
在shell或者exec的环境下执行的命令,run指令会在新创建的镜像添加新的层面,接下来提交的结果用在dockerfile的下一条指令中。
4.ADD <src> <destination>
复制文件指令,src为启动上下文中的一个文件或一个URL中的文件,destination是容器内的路径
5.CMD ["executable","param1","param2" ]或CMD command param1 param2
提供容器默认的执行命令,dockerfile只允许使用一次CMD命令,如果执行多次,最后一次自动替换之前的。
6.EXPOSE <port>
指定容器在运行时监听的端口
7.ENTRYPOINT ["executable","param1","param2"]或ENTRYPOINT command param1 param2
给容器指定一个默认的应用程序,这意味着用镜像创建容器时,只运行指定的应用,类似于CMD命令,也是只允许一个ENTRYPOINT,最后一个会抵消前面的。
8.WORKDIR <path>
指定RUN,CMD,ENTRYPOINT命令的工作目录
9.ENV <key> <value>
设置环境变量
10.USER <uid>
镜像正在运行时设置一个UID
11.VOLUME ['/data']
授权访问从容器内到主机上的目录
在启动容器时指定目录使用 -v参数 -v 本地目录:容器目录,如把本机/code/aosp挂载到容器内的/aosp目录:
docker run -v /data/aosp:/aosp ubuntu
i.e.如果要挂载多个目录可多次使用-v参数
使用以下命令来从Dockerfile构建镜像
docker build [options] PATH | URL
options有
--rm=true表示构建成功后,移除所有中间容器
--no-cache=false 表示在构建过程中不使用缓存
ENV 设置环境变量
ENV <key><value>
ENV指令可以用于为docker容器设置环境变量
ENV设置的环境变量,可以使用 docker inspect命令来查看。同时还可以使用docker run --env <key>=<value>来修改环境变量。
Note: 环境变量的设置要合理,比如将环境变量设置为非交互的 ENV DEBIAN_FRONTEND noninteractive.那再用这个来进行操作: docker run -t -i image bash
最新文章
- C和指针 第十六章 习题
- django 有model生成SQL以及现有反向表生成model
- C++笔试题(转)
- 模拟赛1030d2
- Log4cplus使用
- Scrum介绍
- 【转】${sessionScope.user}的使用方法
- Javascript对象的创建模式 -- 深入了解Javascript
- C# 学习笔记02 ADO.net
- C# 翻页设计:首页,上一页,下一页,末页 ,跳转
- win64安装及配置apache+php+mysql
- PLSQL 导入表到Oracle------》从一个表空间导入到其它表空间
- BZOJ 1047: [HAOI2007]理想的正方形( 单调队列 )
- [原创]如果软件在网络磁盘中或移动磁盘中运行时需要解决 exception C0000006 异常问题
- httpd常见配置
- C# 的枚Enum
- pymongo创建索引
- 十五分钟介绍 Redis数据结构
- android 模拟器 sdcard权限修改
- 第一個shell腳本