技术标签: Dockerfile 其他 docker
在docker学习笔记(1)中,我们提到了通过commit 的命令来提交新的image,下面我们来通过Dockerfile文件来生成image,而且使用Dockerfile,很方便移植。
格式:
FROM <image>
或者
FROM <image>:<tag>
格式:
MAINTAINER <name>
说明:设置生成image的作者
(3)RUN
格式:
使用shell 的形式
RUN <command>
或 使用exec的形式
RUN ["executable", "param1", "param2"]
说明:RUN指令会在当前的Image上的新一层layer执行指令,并提交结果。这些结果会在Dockerfile的下一步中使用到。
格式:
CMD ["executable","param1","param2"]
或
CMD ["param1","param2"]
或
CMD command param1 param2
说明:CMD指令会在启动container时执行服务,例如一个命令,启动一个服务,或启动一个脚本之类的。
注意:一个Dockerfile文件只能有一个CMD指令,如果有多条,则只有最后一条有效。
格式:
ADD <src> .... <dest>
说明:
如果要ADD本地文件,则本地文件必须在 docker build <PATH>,指定的<PATH>目录下,如:ADD files /root/hadoop_files/(注意,这里hadoop_files后面要有/,否则在build Dockerfile时会失败,提示说: lchown /var/lib/docker/aufs/mnt..........................not a directory之类的报错信息)
如果要ADD远程文件,则远程文件必须在 docker build <PATH>,指定的<PATH>目录下,如:ADD ADD https://archive.apache.org/dist/hadoop/common/hadoop-1.0.4/hadoop-1.0.4-bin.tar.gz /root/
格式:
VOLUME ["/data"]
说明:可以将本地文件夹或者其他container的文件夹挂载到container中。
下面的Dockerfile创建一个基于ubuntu:precise的镜像。
通过docker build -t ubuntu:base . 命令执行。
#Authro:wgc
#Data:2014-10-24
#Introduction:Build basic development
From ubuntu:precise
# Set correct source list
RUN echo "deb http://archive.ubuntu.com/ubuntu precise main universe" > /etc/apt/sources.list
RUN echo "deb http://archive.ubuntu.com/ubuntu precise-updates main universe" >> /etc/apt/sources.list
# Install a few other useful packages plus Open Jdk 7
RUN apt-get update && apt-get upgrade -y && apt-get install -y openjdk-7-jdk wget vim sudo openssh-server
# Add hadoop_files
ADD files /root/hadoop_files/
# Set JAVA_HOME
ENV JAVA_HOME /usr/lib/jvm/java-7-openjdk-amd64
RUN echo export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64 >> /root/.bashrc
# Download hadoop
ADD https://archive.apache.org/dist/hadoop/common/hadoop-1.0.4/hadoop-1.0.4-bin.tar.gz /root/
参考:
(1)docs.docker.com/reference/builder/
(2)http://blog.csdn.net/wsscy2004/article/details/25878223
(3)tonybai.com/tag/博客/
JAVA不支持PKCS7Padding,只支持PKCS5Padding。要实现在JAVA端用PKCS7Padding,需要用到bouncycastle组件来实现功能。需要下载jar包https://wws.lanzous.com/iuDnVni7nbc密码:g1hf/** * @author ngh * AES128 算法 * <p> * CBC 模式 * <p> * PKCS7Padding 填充模式 * <p> * CBC模式需要添加一个参数i_java pkcs5能用pkcs7解密吗
目录前言Python实现前言上一篇文章实现了MODIS Swath数据的重投影。一般来说,在完成重投影之后的任务,要么是对多幅图像的拼接,要么是对多幅图像做均值运算。但这两个任务,在一定程度上是可以等同的。均值运算,在不考虑质量控制等因素的前提下,其实就是在对应的地理位置上,把属于这一个地理位置上的所有像元给加进来,并统计有效的累加次数,最后求平均即可,对于某些位置上只出现过一次的像元,其实就是把值填进去了,最后累加的次数为1,均值就是像元值本身。而拼接,实际上是相同的道理。比如两幅有重合区域的影像,重_geo tif加算法
[size=x-large][color=red]JMeter[/color][/size]=======================================================[size=large][color=red]JMeter基础之一 一个简单的性能测试[/color] [/size][url]http://www.cnblogs.com/fnng/arc..._badboy no cookies
虚拟机使用设置开启CPU虚拟化(实验环境已存档,如有需要可联系笔者)如果安装了Desktop,就同时安装了Compose插件。访问https//localhost成功运行。【重中之重】确保CPU支持虚拟化并开启。物理机联系机要室管理员使用高权限开启。启动KiwiTCMS。在Windows上安装。执行克隆命令,拉取代码。克隆git存储库。..._如何在windows 本地搭建kiwi tcms
封装函数如下:function uuid($prefix = '') { $chars = md5(uniqid(mt_rand(), true)); $uuid = substr($chars, 0, 8) . '-'; $uuid .= substr($chars, 8, 4) . '-'; $uuid .= substr($chars, 12, 4) . '-'; $uuid .= substr($chars, 16, 4) . '-'; $uui_php获取uuid
mingW64,MSYS,gtest_extern "c" { ; } gtest windows
M.2接口固态硬盘选购注意事项:PCIe和SATA的区别2015-03-25 16:39:19596点赞1441收藏149评论浦科特在2014年发布了使用 SATA 6Gb/s 控制器的 M6G 系列固态硬盘。而在此之前,浦科特的产品线里只有使用 PCIe 控制器的 M6E 系列固态硬盘是 M.2 接口的(旧称 NGFF 接口,即 Next Generation Form Factor 的缩写)。..._pcie mode
1,字符型驱动设备是怎么创建设备文件的,就是/dev/下面的设备文件,供上层应用程序打开使用的文件?2,写一个中断服务需要注意哪些?如果中断产生之后要做比较多的事情你是怎么做的?3,自旋锁和信号量在互斥使用时需要注意哪些?在中断服务程序里面的互斥是使用自旋锁还是信号量?还是两者都能用?为什么?4,原子操作你怎么理解?5,nsmod 一个驱动模块,会执行模块中的哪个函数?rmmod呢?这两个函数在设计上要注意哪些?遇到过卸载驱动出现异常没?是什么问题引起的?6,在驱动调试过程中遇到过oops没?你是_嵌入式面经总结pdf
kubernetes v1.12: https://github.com/kubernetes/kubernetesInformer 简介 Informer 是 Client-go 中的一个核心工具包。如果 Kubernetes 的某个组件,需要 List/Get Kubernetes 中的 Object(包括pod,service等等),可以直接使用 Informer 实例中..._newsharedinformerfactory(client kubernetes.interface, defaultresync time.dur
对于父子组件之间的互相传值,报错如下:[Vue warn]: Avoid mutating a prop directly since the value will be overwritten whenever the parent component re-renders. Instead, use a data or computed property based on the prop...
花了些时间分析BO2K,现将结果依次发表出来.接着还将发表BO消息循环机制,网络原理,自编LoadLibrary()的实现,Plug In原理,关键命令的实现原理等. 愿对诸君C++编程和Windows编程有所益. 一 BO2K服务器原理概述 BO2K服务器程序首先判断是否已经安装了BO2K,如果已经安装,则简单的启动服务器,侦听端口。如果没有安装则拷贝自身到系统目录下,
目录介绍01.Element是什么东西02.Element源码的分析03.Element创建过程分析04.mount方法调用分析05.理解BuildContext01.Element是什么东西Widget和Element的关系知道最终的UI树其实是由一个个独立的Element节点构成。也说过组件最终的Layout、渲染都是通过RenderObject来完成的。从创建到渲染的大体流程是:根据Widget生成Element,然后创建相应的RenderObject并关联到Element._element uitree实现原理