docker(DockerFile)
dockerfile自制镜像
docker history 镜像id #查看镜像怎么构建的
1、编写dockerfile文件,vim /home/dockerfile1 #文件名随便
------------------------------
FROM centos
VOLUME ["volume01","volume02"] #匿名挂载volume01,volume02。此行可以不写,启动容器时加-v同样效果
CMD echo "---end---"
CMD /bin/bash
------------------------------
2、构建镜像,docker build -f /home/dockerfile1 -t zizhi/centos:1.0 .
3、运行镜像,docker run
4、发布镜像,docker push
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------
FROM #基础镜像
MAINTAINER #作者
RUN #构建镜像时需要运行的命令
ADD #往镜像中添加需要的压缩包,会自动解压
COPY #往镜像中添加文件,无法解压
WORKDIR #指定工作目录(进入容器后默认所在目录)
VOLUME #挂载的目录
EXPOSE #指定对外的端口(这里指定了,在启动容器时就不用-p了)
CMD #指定容器启动后需要运行的命令(ls),只有最后一个命令会生效,会被替代(启动容器时-l无法与ls结合,直接报错)
ENTRYPOINT #指定容器启动后需要运行的命令(ls),不会被替代(启动容器时-l可与ls结合)
CMD: ls -a #docker run -l后,会执行-l,然后报命令错误
ENTRYPOINT:ls -a #docker run -l后,会执行ls -al命令
ONBUILD #当构建一个被继承DockerFile,这时候就会执行ONBUILD的指令
ENV #构建时设置环境变量
#栗子
1、vim Dockerfile-centos
---------------------------
FROM centos
MAINTAINER balaba<balaba@123.com>
ENV MYPATH /usr/local
WORKDIR $MYPATH
RUN yum -y install vim
RUN yum -y install net-tools
EXPOSE 80
CMD [echo $MYPATH]
CMD ["ls","-a"]
------------------------------------
2、docker build -f Dockerfile-centos -t mycentos:1.0 .
#栗子
1、vim Dockerfile
-------------------------------------
FROM centos
MAINTAINER balaba<bababa@123.com>
COPY readme.txt /usr/local/readme.txt
ADD jdk-8ull-linux-x64.tar.gz /usr/local/
ADD apache-tomcat-9.0.22.tar.gz /usr/local/
ENV MYPATH /usr/local
WORKDIR $MYPATH
ENV JAVA_HOME /usr/local/jdk1.8.0_11
ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
ENV CATALINA_HOME /usr/local/apache-tomcat-9.0.22
ENV CATALINA_BASH /usr/local/apache-tomcat-9.0.22
ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/lib:$CATALINA_HOME/bin
EXPOSE 8080
CMD /usr/local/apache-tomcat-9.0.22/bin/startup.sh && tail -F /url/local/apache-tomcat-9.0.22/bin/logs/catalina.out
-------------------------------------
2、docker build -t diytomcat . #因为镜像名叫Dockerfile所以不用指定-f

浙公网安备 33010602011771号