簡介
Dockerfile是一個文字格式的配置檔案,使用者可以使用Dockerfile快速建立自定義映象
指令及說明
指令 |
說明 |
FROM |
指定基礎映象 且必須是第一條指令 |
MAINTAINER |
指定映象作者 |
RUN |
執行指定的命令 預設/bin/sh -c |
CMD |
指定容器啟動時要執行的命令 |
LABEL |
設定映象標籤 |
ADD |
把檔案複製到映象中 類似scp |
COPY |
編譯時複製本地檔案到映象中 |
WORKDIR |
設定RUN CMD COPY ADD指令的工作目錄 不存在則建立 |
ENTRYPOINT |
設定容器入口程式 |
VOLUME |
設定容器的掛載卷 |
USER |
設定執行RUN CMD ENTRYPOINT的使用者名稱 |
ARG |
設定編譯時加入的引數 |
EXPOSE |
設定映象暴露的埠 |
ENV |
設定容器的環境變數 |
ONBUILD |
設定映象的ONBUILD指令 |
STOPSIGNAL |
設定容器的退出訊號量 |
HEALTHCHECK |
容器監控狀況檢查命令 |
一個簡單的例子
#This is SMS Dockerfile
#Version 1.0
#Author: LYW
#基礎映象
FROM daocloud.io/library/centos
#維護者資訊
MAINTAINER LYW
# 標籤
LABEL version="1.0"
# 安裝依賴
RUN yum -y install wget gcc gcc-c++ make openssl-devel
zlib-devel bzip2-devel ncurses-devel
sqlite-devel readline-devel tk-devel
gdbm-devel db4-devel libpcap-devel xz-devel svn
# 新增需要下載的資源
RUN mkdir /usr/local/python3
ADD http://XXX/software/Python-3.6.1.tgz /usr/local/src
WORKDIR /usr/local/src/
RUN tar -zxvf Python-3.6.1.tgz
WORKDIR /usr/local/src/Python-3.6.1
# 安裝python
RUN ./configure --prefix=/usr/local/python3
RUN make && make install
RUN ln -s /usr/local/python3/bin/python3 /usr/bin/python3
# 安裝pip包
RUN /usr/local/python3/bin/pip3 install Flask
RUN /usr/local/python3/bin/pip3 install pymysql
#目錄掛載
VOLUME [`/data/sms`]
#埠
EXPOSE 5000
EXPOSE 22
#宣告環境變數
ENV PATH /usr/local/python3/bin:$PATH
#
CMD ["python3 -V"]
執行
docker build -t python/sms:v0.1 .
docker run -tid --name sms_01 -p 5000:5000 -p 5022:22 python/sms:v0.1 /sbin/init
參考
https://www.cnblogs.com/dazho…