dockerfile構建flask環境

李小昂發表於2018-08-01

簡介

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…

相關文章