Dockerfile设置应用与多功能开发环境

RUN apt update && \
    apt install -y --no-install-recommends \
    build-essential \
    python3 python3-dev python3-pip \
    ca-certificates \
    libaprutil-ldap libldap-common libaprutil1-dev \
    libbrotli-dev libcurl4-openssl-dev libjansson-dev liblua5.2-dev \
    libnghttp2-dev libpcre3-dev libssl-dev \
    libxml2-dev libexpat-dev libapr1-dev libmysqlclient-dev libxmlsec1-dev \
    openjdk-11-jdk \
    unixodbc unixodbc-dev && \
    apt install -y poppler-utils vim curl
1. `RUN apt update`: 更新本地的包索引。这是安装新软件之前通常要做的事情,以确保你获取到的是最新的软件包版本信息。
2. `apt install -y --no-install-recommends ...`: 使用`apt`命令安装多个软件包。


   * `-y`: 自动回答所有提示为“是”。
   * `--no-install-recommends`: 不安装推荐的软件包。这通常用于减少安装过程中不必要的依赖。
   * 后面的列表包含了一系列要安装的软件包,包括构建工具、Python、证书、各种库和开发工具等。
3. `&&`: 是shell命令的链接符,表示只有当前面的命令成功执行后,才会执行后面的命令。
4. `apt install -y poppler-utils vim curl`: 在第一组软件包安装完成后,安装`poppler-utils`(用于处理PDF和XPS文档)、`vim`(文本编辑器)和`curl`(命令行工具,用于获取或发送数据使用各种协议)。

### 举例说明

假设你想创建一个Docker容器,用于运行一个Python应用,该应用需要访问LDAP服务器、处理PDF文件,并且需要一些网络工具。你可以使用上述Dockerfile片段作为基础来设置容器环境。

# 基于一个基础的Debian或Ubuntu镜像
FROM ubuntu:latest

# 设置环境变量,避免在安装过程中被提示
ENV DEBIAN_FRONTEND=noninteractive

# 更新软件包索引并安装所需软件
RUN apt update && \
    apt install -y --no-install-recommends \
    build-essential \
    python3 python3-dev python3-pip \
    ca-certificates \
    libaprutil-ldap libldap-common libaprutil1-dev \
    libbrotli-dev libcurl4-openssl-dev libjansson-dev liblua5.2-dev \
    libnghttp2-dev libpcre3-dev libssl-dev \
    libxml2-dev libexpat-dev libapr1-dev libmysqlclient-dev libxmlsec1-dev \
    openjdk-11-jdk \
    unixodbc unixodbc-dev && \
    apt install -y poppler-utils vim curl

# 设置工作目录
WORKDIR /app

# 复制应用代码到容器中
COPY . /app

# 安装Python依赖
RUN pip3 install -r requirements.txt

# 暴露端口(如果需要的话)
EXPOSE 8000

# 定义容器启动时执行的命令
CMD ["python3", "app.py"]
这个Dockerfile基于`ubuntu:latest`镜像,安装了Python、各种库和工具,并设置了工作目录、复制了应用代码、安装了Python依赖,并定义了容器启动时要执行的命令。当你构建并运行这个Docker容器时,它将包含所有必要的环境和工具来运行你的Python应用。

  • 8
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值