Dockerfile
FROM:

FROM <image>
FROM <image>:<tag>

MAINTAINER:

MAINTAINER <name>

RUN

RUN apt-get update
RUN mkdir /some_dir/

CMD:(设置docker run时启动的命令)

#ENTRYPOINT和CMD都是启动命令,
#如果只有一个那就执行那个。
#如果两个都有并且都是完整的命令,执行最后一个
#如果有ENTRYPOINT,CMD是参数,那么CMD就是ENTRYPOINT默认的参数
CMD ["executable","param1","param2"] (like an exec, this is the preferred form)
CMD command param1 param2 (as a shell)
CMD ["param1","param2"] (as default parameters to ENTRYPOINT)

ENTRYPOINT:(设置容器启动时的命令)

ENTRYPOINT ["executable", "param1", "param2"] (like an exec, the preferred form)
ENTRYPOINT command param1 param2 (as a shell)

USER:(指定容器的用户)

USER root      #默认就是root用户

EXPOSE:(容器的端口)

EXPOSE <port1> [<port2>.....]

ENV:(环境变量)

#设置了ENV后,后续的RUN命令都可以用
ENV <key> <value>
ENV JAVA_HOME /path/to/java/

ADD

#src必须在当前Dockerfile目录,不支持绝对目录,向ADD一个绝对目录的文件需要提前复制文件到当前目录
ADD <src> <dest>
ADD a_dir/ /usr/a_dir/

VOLUME:(很麻烦的一个东西也很重要)

WORKDIR:(设置容器内的工作目录)

#在/usr/local下创建src目录
WORKDIR /usr
WORKDIR /local
mkdir src/

ONBUILD:(在子镜像中执行)

docker的常用命令:

docker build -t <image> <Dockerfile_dir>
docker build -t ubuntu:16.04 . docke run -it --name <name> <image_name>
docker run -it --name test -p 5000:5000 ubuntu:16.04 /bin/bash docker logs -f <容器名orID> docker ps
docker ps -a
docker rm $(docker ps -a -q)      #删除所有容器
docker images
docker rmi <image_name>
docker rmi $(docker images | grep none | awk '{print $3}' | sort -r) docker stop <container>
docker start <container>
docker kill <container>
docker attach <container>
docker inspect <container>
docker exet -it <conatainer> /bin/bash #进入容器并给个终端
docker cp <container>:/path/file .    #将容器内东西拷出来 #A的容器保存复制到B启动
  #A
docker save <container> > ./save.tar
scp save.tar <user>@<ip>:<path>
  #B
docker load save.tar
ctrl + p + ctrl + q  静默退出

Dockerfile指令及docker的常用命令的更多相关文章

  1. Docker学习(三)认识Docker和常用命令

    Docker学习(三)认识Docker和常用命令 Docker体系结构 docker服务端,作为服务的提供方,核心进程 docker daemon,所有docker命令都是通过这个进程完成的 REST ...

  2. Docker Kubernetes 常用命令

    Docker Kubernetes 常用命令 增 # 通过文件名或标准输入创建资源. kubectl create # 读取指定文件内容,进行创建.(配置文件可指定json,yaml文件). kube ...

  3. 【Docker入门】Docker的常用命令

    ​ ​ 了解和安装完docker之后,我们学习一下docker的常用命令就和当初学linux命令一样,放心命令其实大致相同只不过细节不同. 一.Docker启动类命令 1.启动docker:syste ...

  4. Docker(二十二)-Docker Swarm常用命令

    #查看集群节点 docker node ls #创建nginx服务 #docker pull hub.test.com:5000/almi/nginx:0.1 #下载私有仓库镜像 docker ser ...

  5. Docker Swarm常用命令

    #查看集群节点 docker node ls #创建nginx服务 #docker pull hub.test.com:5000/almi/nginx:0.1 #下载私有仓库镜像 docker ser ...

  6. Docker之常用命令(二)

    这篇博客就不扯皮了,简单粗暴地贴上自己整理的一份Docker常用命令. docker search ** // 查找镜像 docker pull nginx // 载入镜像 # -a 拉取所有tagg ...

  7. 八、docker的常用命令

    1 Docker常用命令 1.1 存储镜像 如果要导出镜像到本地文件,可以使用 docker save 命令. docker save -o log_v140.tar docker.io/vmware ...

  8. docker学习-常用命令2

    三.容器管理命令3.1 Docker commit 命令,从容器创建一个新的镜像.OPTIONS说明: -a :提交的镜像作者: -c :使用Dockerfile指令来创建镜像: -m :提交时的说明 ...

  9. Docker镜像常用命令

    镜像(image)是Docker三大核心概念中最重要的,是运行容器的前提. Docker运行容器前需要本地存在对应的镜像,如果镜像没保存在本地,Docker会尝试先从默认镜像仓库下载(默认使用Dock ...

随机推荐

  1. java 实现统计某段文字在内容中出现的次数

    http://outofmemory.cn/code-snippet/815/java-zishutongji 一个api,位于apache.commons.lang.StringUtils类下的一个 ...

  2. 运行./cpp.sh,显示command not found

    首先运行ls -l 查看这个文件的属性是否可执行drwxrwxrwx对当前用户必须具有可执行权限(即含有x符号)如果没有可以运行chmod 777 cpp.sh 添加可执行权限

  3. 解密和解压浏览器上加密的js文件

    F12 -> 进入Sources -> 找到任意一个加密的js文件,如图 点击最下方的 {} 即可解压

  4. Httpclient 实现带参文件上传

    这里直接贴出的是我封装好的doPostFile方法,httpclient 的版本是3.1. public static String doPostFile(String url, Part[] par ...

  5. shell中的括号作用

    一.小括号,圆括号() 1.单小括号 ()    ①命令组.括号中的命令将会新开一个子shell顺序执行,所以括号中的变量不能够被脚本余下的部分使用.括号中多个命令之间用分号隔开,最后一个命令可以没有 ...

  6. memcached windows 修改端口

    要想在windows中使用memcached,必须先下载memcached for win32安装. 下载地址:http://jehiah.cz/projects/memcached-win32/ 解 ...

  7. HBase中我认为比较常用的两个类:Scan和Filter

    学习HBase一段时间后,我认为HBase中比较常用,同时也是必须掌握的两个API是Scan和Filter.如下是我的理解: 1.Scan  ---- 扫描类 作用:用来对一个指定Table进行按行扫 ...

  8. Exception in thread "main" java.util.ConcurrentModificationException

    package test; import java.util.ArrayList; import java.util.Iterator; import java.util.List; public c ...

  9. PHP面试题总结

    2017年5月15日19:20:26 1.请用最简单的语言告诉我PHP是什么? PHP全称:Hypertext Preprocessor,是一种用来开发动态网站的服务器脚本语言. 2. 面试题地址:h ...

  10. thinkphp自动验证无效的问题

    新手入门thinkphp,试用自动验证表单输入数据功能,却发现怎么都不能调用自动验证,自动验证无效,原因竟是一个小细节的疏忽,学习一定要细心啊! Action方法: IndexAction下的adds ...