使用dockerfile定制对象小结
来源:互联网 发布:更改mac地址的手机软件 编辑:程序博客网 时间:2024/06/16 05:39
FROM:images_name 这条语句是指定基础镜像,假如是静态编译的程序,不需要系统的支持可用Scrach(空镜像)。
RUN:shell命令或者 可执行程序 有两种执行方式,
shell方式:RUN echo ‘
hello docker!
’ >/usr/share/index.html
exec方式:RUN [可执行程序,“参数1”,“参数2”]
这里要注意的是每执行一条命令是创建一个新的容器,在容器可写层执行命令,然后再comit形成新的镜像,删除刚才的容器。在写dockerfile时一定要注意在镜像定制过程中每一层的任务关联性,比如编译和搭建一整个服务时,往往就放在一层镜像中。union FS 最大层数限制是127层。镜像的文件不会在下一层被删除,会一直跟随的整个镜像,因此在构建新的一层镜像最后,需要做的是清理不需要的缓存和文件,比如说apt的缓存文件。
在创建一个简单的镜像前两个命令就够用了,然后我们需要的是在我们机器上构建这个镜像。
docker build [选项] [需要文件的上下文路径]
同时docker支持使用git-repo和下载地址
docker build https://github.com/sky-2016yty/nothing-.git
会自动clone仓库到本地执行Dokcerfile
如果下载地址的内容是压缩包的话会先解压在构建,并且将解压后文件当着上下文。
docker build https:ww.skypointer.cn/test.tar.gz
同样的会使用标准输入流来执行docker build 命令 ,默认会将当前目录作为上下文展开。
cat Dockerfile |docker build 或 docker build -< Dockerfile
接下来是Dokcerfile的其他命令:
COPY:拷贝文件到镜像中
COPY
ADD:比COPY多一些功能,比如说下载,解压缩
CMD:指定容器主进程,默认的主进程是/bin/bash 需要注意的是docker不是虚拟机,中的说有应用都是运行在前台,并不是像虚拟机一样把服务启动在后台,容器并没有后台服务的概念。
CMD service nginx start 这样执行实际效果是 sh -c service nginx start ,这样sh就会被作为主进程,当命令执行完成过后,sh退出,容器就会退出,并不关心辅助线程的状况。
正确的做法是直接执行可执行文件,并要求以前台方式运行,
CMD [ “nginx”,”-g”,”daemon off:”] (使用双引号)
- 使用dockerfile定制对象小结
- Dockerfile使用
- Dockerfile使用
- 使用Dockerfile
- 使用 Dockerfile 实现自动化
- Dockerfile的使用
- Dockerfile使用详解
- 学会使用Dockerfile
- dockerfile简单使用
- 使用Dockerfile构建容器
- 使用Dockerfile搭建Apache
- CKEditor 3.X使用小结---初始化与面板功能定制
- 流程定制的小结
- 阿里云部署Docker(9)----Dockerfile脚本定制镜像
- dockerfile
- DockerFile
- Dockerfile
- dockerfile
- 关于MyEclipse等软件无法格式化问题
- OpenResty 最佳实践学习--实战演习笔记(2)
- 双反相机史话(41)日本双反机(8)Minolta 美能达双反机
- Oracle操作实例总结
- Numpy学习(基础)
- 使用dockerfile定制对象小结
- 前端状态管理请三思
- okhttp+MVP+RecyclerView
- 新建VUE 2.0 项目及引入Element UI 步骤及常见问题
- pandas中read_sql(read_sql_query)中文字符乱码问题
- 《机器学习实战》学习笔记(三)之朴素贝叶斯(下)过滤垃圾邮件、获取区域倾向、新浪新闻分类 (sklearn)
- 美能达 AUTOCORD III后期型 12/24
- 电子邮件
- 基于深度学习的目标检测技术演进:R-CNN、Fast R-CNN、Faster R-CNN