环境
centos7.9,dockerv25.0.4
方法
要执行 Dockerfile
中定义的 CMD
指令,你通常需要构建一个 Docker 镜像,然后运行一个基于该镜像的容器。CMD
指令在构建镜像时定义了容器启动时默认执行的命令。
下面举例使用容器执行命令的俩种方法:
# 使用官方 Python 运行时作为父镜像
FROM python:3.8-slim
# 设置工作目录
WORKDIR /app
# 复制当前目录内容到容器内的 /app 目录下
COPY . /app
# 安装 requirements.txt 中指定的任何需要的包
RUN pip install --no-cache-dir -r requirements.txt
# 使端口 80 可供应用程序使用
EXPOSE 80
# 定义环境变量
ENV NAME World
# 运行 app.py 当容器启动时
CMD ["python", "app.py"]
此处有俩个执行linux的命令一个是使用RUN方法,一个是使用CMD
俩者的区别在于
RUN
指令用于在构建镜像的过程中执行命令。这些命令通常用于安装软件包、创建文件或目录、设置环境变量等,是在镜像构建阶段执行的,执行的结果(例如安装的软件)会被永久地包含在最终的镜像中
CMD
指令提供了容器启动时默认执行的命令。它可以被 docker run
命令行参数覆盖,是在容器启动时执行,CMD
指令不会影响镜像本身,它只定义了容器启动时的行为