Docker File 常用指令
-
FROM
指定基礎鏡像FROM centos:7
-
MAINTAINER
: 指定作者/維護着MAINTAINER Tian Go <[email protected]>
-
RUN
執行的命令RUN ["yum", "install", "httpd"] RUN yum install redis RUN ln -s /opt/bin/python3 /bin/python
-
WORKDIR
: 指定工作目錄WORKDIR /data
-
ENV
設置環境變量ENV MYSQL_ROOT_PASSWORD 123456 ENV JAVA_HOME /usr/local/jdk1.8.0_45
-
ADD
拷貝文件、目錄到鏡像中如果是壓縮包會自動幫忙解壓
如果是網址,自動下載並解壓
ADD html.tar.gz /var/www/html ADD https://xxx.com/html.tar.gz /var/www/html
-
COPY
拷貝和複製文件,不支持自動解壓和下載COPY ./start.sh /start.sh
-
CMD
和ENTRYPOINT
CMD ["-C", "/start.sh"] CMD ["/usr/sbin/sshd", "-D"] CMD /usr/sbin/sshd -D ENTRYPOINT ["/bin/bash", "-C", "/start.sh"] ENTRYPOINT /bin/bash -C '/start.sh'
- 如果沒有
ENTRYPOINT
,CMD
要寫完整的內容命令[command,arg1,arg2]
,docker run
後面會覆蓋掉cmd
- 如果有
ENTRYPOINT
,CMD 可以只寫 [arg1,arg2]
,那麼ENTRYPOINT
寫[command]
- 還可以這樣ENTRYPOINT寫
[command,arg1]
CMD 可以只寫[arg2]
- 如果沒有
參考
https://blog.csdn.net/sunt2018/article/details/105102037
https://www.cnblogs.com/edisonchou/p/dockerfile_inside_introduction.html