Backend - Dockerfile 镜像档

目录

一、结构

(一)FROM

1. 用法

2. 写法

3. 注意

(二)MAINTAINER

1. 作用

2. 写法

(三)RUN

1. 作用

(四)WORKDIR

1. 作用

2. 写法

(五)EXPOSE

1. 作用

2. 写法

(六)CMD

1. 作用

二、完整示例


一、结构

(一)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

相关推荐

  1. Backend - Dockerfile 镜像

    2024-07-17 02:36:03       25 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-17 02:36:03       70 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-17 02:36:03       74 阅读
  3. 在Django里面运行非项目文件

    2024-07-17 02:36:03       62 阅读
  4. Python语言-面向对象

    2024-07-17 02:36:03       72 阅读

热门阅读

  1. SQL进阶--条件分支

    2024-07-17 02:36:03       22 阅读
  2. workingset protection/detection on the anonymous LRU list

    2024-07-17 02:36:03       22 阅读
  3. WSGI 服务器教程:`write` 方法解析

    2024-07-17 02:36:03       24 阅读
  4. LeetCode 算法:组合总和 c++

    2024-07-17 02:36:03       24 阅读
  5. Linux 工作队列(Workqueue):概念与实现

    2024-07-17 02:36:03       26 阅读
  6. P1179 [NOIP2010 普及组] 数字统计【进制】

    2024-07-17 02:36:03       23 阅读
  7. PHP基础认知

    2024-07-17 02:36:03       23 阅读
  8. 探索Eureka的高级用法:在服务中实现分布式锁

    2024-07-17 02:36:03       22 阅读
  9. Rust编程-函数式编程

    2024-07-17 02:36:03       25 阅读
  10. 前端打包部署后源码安全问题总结

    2024-07-17 02:36:03       25 阅读