Dockerfile的详解与案例
《Dockerfile 详解与案例》
一、Dockerfile 简介
Dockerfile 是一个用来构建 Docker 镜像的文本文件,它包含了一系列指令,用于描述如何创建一个 Docker 镜像。通过 Dockerfile,你可以定义镜像的基础环境、安装软件包、设置环境变量等操作,从而实现快速、可重复地构建容器镜像。
二、Dockerfile 基本指令
1. FROM
指定基础镜像,后续的指令将基于这个镜像进行构建。例如:
FROM ubuntu:latest
2. RUN
用于在镜像中执行命令。可以是单个命令,也可以是多个命令的组合,用&&
连接。例如:
RUN apt-get update && apt-get install -y python3
3. COPY
将本地文件或目录复制到镜像中。例如:
COPY app.py /app/
4. ADD
功能类似于 COPY,但 ADD 还可以自动解压缩 tar 文件等。例如:
ADD myfile.tar.gz /app/
5. WORKDIR
设置工作目录。例如:
WORKDIR /app
6. ENV
设置环境变量。例如:
ENV MY_VAR=value
7. EXPOSE
声明容器运行时监听的端口。例如:
EXPOSE 8080
8. CMD
指定容器启动时要执行的命令。例如:
CMD ["python3", "app.py"]
三、案例:构建一个简单的 Python Web 应用镜像
假设我们有一个简单的 Python Flask 应用,文件结构如下:
.
├── app.py
└── requirements.txt
其中app.py
的内容如下:
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello_world():
return 'Hello, Docker!'
if __name__ == '__main__':
app.run(host='0.0.0.0', port=8080)
requirements.txt
内容如下:
flask
下面是构建这个应用的 Dockerfile:
FROM python:3.11-slim-buster
WORKDIR /app
COPY requirements.txt.
RUN pip install -r requirements.txt
COPY app.py.
EXPOSE 8080
CMD ["python3", "app.py"]
构建镜像的命令如下:
docker build -t my-python-app.
运行容器的命令如下:
docker run -p 8080:8080 my-python-app
现在,可以在浏览器中访问http://localhost:8080
,可以看到“Hello, Docker!”的输出。
原文地址:https://blog.csdn.net/chu396815830/article/details/142421328
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!