Dockerfile语法
来源:互联网 发布:pc版拼图软件 编辑:程序博客网 时间:2024/06/17 22:50
build
从Dockfile建立镜像
docker build -t <repo>:<tag> .
FROM
指定base镜像
FROM python:2.7 # 指定基础镜像为python2.7
ENV
定义环境变量
例子:
ENV PORT 9000ENV HOST=“127.0.0.1”CMD echo ${PORT} ${HOST}
RUN
在当前image的新layer上执行命令,然后提交结果为一个新的image。有两种形式:shell形式和exec形式。
一个shell形式例子:
RUN git clone https://github.com/taku910/crfpp.git && \ cd crfpp/ && ./configure && \ sed -i '/#include "winmain.h"/d' crf_test.cpp && \ sed -i '/#include "winmain.h"/d' crf_learn.cpp && \ make install && \ echo "export LD_LIBRARY_PATH=/usr/local/lib" >> ~/.bashrc
CMD
对正在执行的容器提供默认命令。默认的命令在docker run <cmd>
时会被重写。
例子:
CMD echo "This is a test."
注意:
- 如果你想启动一个server,这里的命令一定不能是nohup执行
LABEL
给镜像添加元信息
LABEL maintainer例子:
LABEL maintainer="wangjiang@datagrand.net"
EXPOSE
通知docker在容器运行时监听特定的网络端口。这条指令实际并不publish端口,它只是作为镜像创建者和容器运行者关于该publish哪个端口的文档
例子
EXPOSE 80
COPY
把本机文件目录拷贝到镜像
例子:
copy . /code # 把当前目录所有内容添加到镜像内/code目录下
ADD
把本地或远程文件目录拷贝到镜像
例子:
add . /code # 把当前目录所有内容添加到镜像内/code目录下
注意:
- ADD和COPY的区别在于:ADD使用的范围更广,它可以拷贝一个http链接文件,并帮你解压;
- 避免在COPY能够满足你需求的情况下使用ADD,因为它可能会出现一些你不期望看到的结果,比如ADD一个压缩文件的时候。
ENTRYPOINT
让容器以应用程序或者服务的形式运行。它和CMD命令比较类似。它指定的命令在docker run <cmd>
时仍会被执行
VOLUMN
将主机某个目录挂载到镜像内部。它只能指定镜像目录,所以不建议使用;挂载可以在生成容器时(docker run)使用-v
选项实现,它可以指定主机目录和容器目录。
VOLUMN /data # 将主机某个目录挂载到镜像的/data目录下
可以使用docker inspect
查看主机目录。
阅读全文
0 0
- Dockerfile 语法
- Dockerfile语法
- Dockerfile 的基础语法
- Dockerfile语法总结
- dockerfile
- DockerFile
- Dockerfile
- dockerfile
- Dockerfile
- dockerfile
- dockerfile
- dockerfile
- DockerFile
- Dockerfile
- Docker:Dockerfile语法 以及 一些关键字的区别
- docker系列二 创建自己的docker及Dockerfile语法
- Dockerfile基本语法结构和指令用法详解
- Docker-Dockerfile语法以及一些命令/关键字的区别浅析
- 互联网人必备的六大类专业搜索工具
- 把相同的值的二维数组重装数组记录(有相同的值,合并成一条记录,这个是统计每个类别的数量)
- Jack Straws
- <易理解>利用main函数的参数实现计算功能,附赠功能实现教程
- 杭电ACM OJ 1019 Least Common Multiple 质因子最快速求最大公因数和最小公倍数
- Dockerfile语法
- tomcat可以正常启动但是在Eclipse下不可以正常启动
- C语言的指针
- springmvc配置文件:project-db.properties
- 关于ssh web 项目出现 No result defined for action comindex.action and result success解决办法
- 第一个树莓派JAVA测试程序-LED灯控制
- fastdfs 缩略图
- 介绍一款不错的C/C++开发工具:CodeBlocks
- Qt MySQL 时间处理