Dockerfile文件详解mysql
格式 FROM <image> 或 FROM <image>:<tag>
示例:linux
FROM centos FROM centos:latest
格式 MAINTAINER <name>
示例:nginx
MAINTAINER apeng apeng@apenglinux.com
格式 RUN <command> 或 RUN ["executable","param1","param2"]
示例:sql
RUN yum install httpd RUN ['/bin/bash',"-c","echo hello"]
CMD ["/bin/bash","/usr/local/nginx/sbin/nginx","-c","/usr/local/nginx/conf/nginx.conf"]
EXPOSE
格式为 EXPOSE <port>[<port>...]
示例:docker
//指定要映射出去的端口 // -P 自动分配端口 // -p 指定具体的端口 EXPOSE 22 80 9000
格式 ENV <key> <value>
示例:centos
ENV PATH /usr/local/mysql/bin:$PATH
ADD
格式 add <src><dest>bash
ADD <conf/vhosts></usr/local/nginx/conf>
格式同ADD
不支持urlide
容器启动时要执行的命令,它和CMD很像,也是有一条生效,若是写多个只有一条有效。和CMD不一样是:
CMD是能够被docker run指令覆盖的,而ENTRYPOINT不能覆盖
如,容器名为 apeng
咱们在Dockerfile中指定以下CMD
CMD ["/bin/echo","test"]
启动容器的命令是docker run -it apeng /bin/bash 什么都不输出
ENTRYPOINT不会覆盖,并且会比CMD或者docker run指定的命令要靠前执行
ENTRYPOINT ["echo","test"]
docker run -it apeng 123
则会输出 test 123,这至关于要执行命令echo test 123url
格式 VOLUME ["/data"]
建立一个能够从本机或其余容器挂载的挂载点code
格式 USER daemon
指定运行容器的用户
格式 WORKDIR /path/to/workdir为后续的RUN、CMD、ENTRYPOINT指定工做目录