阅读量:3
目录
一、结构
(一)FROM
1. 用法
设置基础镜像信息。
2. 写法
FROM <image> FROM <image>:<tag> FROM <image>@<digest>
完整示例:其中,tadeorubio/pyodbc-msodbcsql17:latest 是指最新版本的python环境镜像。
FROM tadeorubio/pyodbc-msodbcsql17:latest
3. 注意
第一行非注释内容必须是FROM指令(FROM是指定镜像的,是一个开始命令)。
其中,tag 或 digest 是可选的,若不设置这两值,则直接使用latest版本的基础镜像。
(二)MAINTAINER
1. 作用
设置维护者信息。
2. 写法
MAINTAINER Luobogan
(三)RUN
1. 作用
构建镜像时的操作指令。
(四)WORKDIR
1. 作用
进入工作目录。
2. 写法
类似于cd命令。
WORKDIR /test_dir/mybook
(五)EXPOSE
1. 作用
docker 暴露给外界交互的端口。
2. 写法
EXPOSE 8006
(六)CMD
1. 作用
容器启动时的执行指令。
二、完整示例
# 第一行必须是设置基础镜像 # 基础镜像(针对 python3.8 环境) # 其中 tadeorubio/pyodbc-msodbcsql17:latest 是指最新版本的链接SQL的python环境镜像(如果不指定版本,则会默认用最新版的环境) FROM tadeorubio/pyodbc-msodbcsql17:latest # 维护者信息 MAINTAINER docker_user # 设置环境变量(针对python) ENV PYTHONUNBUFFERED 1 ENV LANG C.UTF-8 ENV DEBIAN_FRONTEND=noninteractive ENV PORT=8006 # 新增容器工作目录(在容器内/test_dir/下创建 mybook 文件夹,-p是在路径目录不存在时自动创建它) RUN mkdir -p /test_dir/mybook # 将当前目录文件都加到容器工作目录中(. 表示当前宿主机目录) ADD . /test_dir/mybook # 设置工作目录(进入容器时的默认目录) WORKDIR /test_dir/mybook RUN pip --proxy=http://10.XX.XXX.XXX:8080 install --upgrade pip==24.1 RUN pip --proxy=http://10.XX.XXX.XXX:8080 install uwsgi # 利用 pip 安装依赖 RUN pip --proxy=http://10.XX.XXX.XXX:8080 install -r requirements.txt # 和外界交互的端口 EXPOSE 8006