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指定工做目錄