【Docker】实践环节 编写dockerfile, 创建镜像,启动容器的这个过程

小破孩
2025-04-18 / 0 评论 / 8 阅读 / 正在检测是否收录...

下面通过一个简单的 Python Flask 应用示例,详细介绍编写 Dockerfile、创建镜像以及启动容器的完整过程。

步骤 1:准备 Flask 应用代码

首先,创建一个简单的 Flask 应用。在项目根目录下创建 app.py 文件,内容如下:

from flask import Flask

app = Flask(__name__)

@app.route('/')
def hello_world():
    return 'Hello, Docker!'

if __name__ == '__main__':
    app.run(debug=True, host='0.0.0.0', port=5000)

接着,创建 requirements.txt 文件,列出应用所需的依赖:

flask

步骤 2:编写 Dockerfile

在项目根目录下创建 Dockerfile 文件,其内容如下:

# 使用 Python 3.9 作为基础镜像
FROM python:3.9-slim

# 设置工作目录
WORKDIR /app

# 复制 requirements.txt 文件到工作目录
COPY requirements.txt .

# 安装依赖
RUN pip install --no-cache-dir -r requirements.txt

# 复制当前目录下的所有文件到工作目录
COPY . .

# 暴露端口
EXPOSE 5000

# 容器启动时执行的命令
CMD ["python", "app.py"]
    

步骤 3:构建 Docker 镜像

打开终端,进入项目根目录,执行以下命令来构建 Docker 镜像:

docker build -t my-flask-app:1.0 .

这里的 -t 参数用于为镜像指定标签,my-flask-app:1.0 是镜像的名称和版本号,. 表示使用当前目录下的 Dockerfile 进行构建。构建过程中,Docker 会按照 Dockerfile 中的指令依次执行,最终创建出一个包含 Flask 应用的镜像。

步骤 4:查看构建好的镜像

构建完成后,可使用以下命令查看本地已有的镜像:

docker images

在输出列表中,你应该能看到刚刚构建的 my-flask-app:1.0 镜像。

步骤 5:启动 Docker 容器

使用以下命令启动基于该镜像的容器:

docker run -d -p 5000:5000 my-flask-app:1.0

参数解释:

  • -d:表示以守护进程模式运行容器,即容器在后台运行。
  • -p 5000:5000:将容器内部的 5000 端口映射到宿主机的 5000 端口,这样就可以通过宿主机的 5000 端口访问容器内的 Flask 应用。
  • my-flask-app:1.0:指定要使用的镜像名称和版本号。

步骤 6:验证应用是否正常运行

打开浏览器,访问 http://localhost:5000,如果看到 Hello, Docker! 的输出,就说明容器内的 Flask 应用已成功运行。

步骤 7:停止和删除容器

若要停止运行中的容器,可使用以下命令:

docker stop <容器 ID>

其中 <容器 ID> 可通过 docker ps 命令查看。停止容器后,若要删除容器,可执行:

docker rm <容器 ID>

通过以上步骤,你就完成了编写 Dockerfile、创建镜像以及启动容器的整个过程。

0

评论 (0)

取消