scratch
相对于java中的Object
==============================================================================
我们从官方pull下来的centos
镜像是mini版的,所以不带有vim
这些基础命令,那我们就来自定义一个镜像,功能比官方下载的强大点,同时运用下各个指令。
首先我们来编写对应的Dockerfile文件。内容如下
FROM centos
MAINTAINER bobodengpbs@163.com
ENV MYPATH /usr/local
WORKDIR $MYPATH
RUN yum -y install vim
EXPOSE 80
CMD echo $MYPATH
CMD echo “success--------------ok”
CMD /bin/bash
然后将脚本构建成对应的镜像文件。
docker build -f dockerfile名称 -t 新建的镜像名:TAG .
查看镜像
运行镜像文件。
docker run -it 新镜像名称:TAG
运行容器后,落脚点是 /usr/local
因为我们配置了WORKDIR
查看一个镜像文件的变更历史可以使用如下命令:
docker history 镜像名
在本例中我们用到了 FROM
MAINTAINER
RUN
EXPOSE
ENV
WORKDIR
命令
=================================================================================
接下来我们通过案例来看看CMD
和ENTRYPOINT
两个命令的区别,这两个命令的作用都是指定一个容器启动时要运行的命令
Dockerfile中可以有多个CMD指令,但只有最后一个生效,CMD会被docker run之后的参数替换掉,我们通过tomcat的案例来介绍。
正常情况如下
docker run -it -p 8888:8080 tomcat