Docker的打包及基本使用

我码玄黄 2025-02-12 10:40:16
Docker 的打包及基本使用

Docker 的打包是将应用程序及其依赖项封装到一个容器中,以便在任何支持 Docker 的环境中运行。

本教程将详细介绍如何通过 Dockerfile 打包应用程序,并基本使用 Docker 容器。

Docker 打包创建 Dockerfile

Dockerfile 是一个文本文件,包含了一系列指令,用于自动化构建 Docker 镜像。

以下是一个典型的 Dockerfile 示例:

# 使用 Python 3.9 作为基础镜像FROM python:3.9-slim# 设置工作目录WORKDIR/app# 复制依赖文件COPYrequirements.txt .# 安装依赖RUNpip install --no-cache-dir -r requirements.txt# 复制应用程序代码COPY. .# 暴露端口EXPOSE 8000# 设置启动命令CMD["python3", "app.py"]

关键指令说明:FROM:指定基础镜像。ENV:设置环境变量。RUN:执行命令(例如安装依赖)。WORKDIR:设置工作目录。COPY:将文件从主机复制到容器中。EXPOSE:暴露容器端口。CMD:设置容器启动时执行的命令。构建 Docker 镜像

在 Dockerfile 所在目录下创建requirements.txt和app.py:

app.py内容如下:

from flask import Flask# 创建 Flask 应用app = Flask(__name__)# 定义路由@app.route('/')def hello():    return "Hello, Docker!"# 启动应用if __name__ == '__main__':    app.run(host='0.0.0.0', port=8000)

requirements.txt 内容如下:

Flask==2.3.2

并运行以下命令构建镜像

docker build -t my-app .

-t my-app:为镜像指定一个名称(标签)。.:指定 Dockerfile 所在的目录(当前目录)。验证镜像

构建完成后,可以通过以下命令查看本地镜像:

docker images

如果看到 my-app 镜像,说明构建成功。

Docker 基本使用运行容器

使用构建的镜像运行容器:

docker run -d -p 8000:8000 --name my-app-container my-app

-d:以守护进程模式运行容器。-p 8000:8000:将主机的 8000 端口映射到容器的 8000 端口。--name my-app-container:为容器指定一个名称。my-app:使用的镜像名称。查看容器日志

查看容器的日志输出:

docker logs my-app-container

进入容器

如果需要进入容器进行调试,可以使用以下命令:

docker exec -it my-app-container /bin/bash

停止和删除容器

停止容器:

docker stop my-app-container

删除容器:

docker rm my-app-container

总结

通过本教程,你已经学会了如何使用 Dockerfile 打包应用程序,并使用 Docker 容器。

Docker 的打包和使用是现代化应用部署的核心技能,掌握这些知识可以帮助你更高效地管理和运行应用。

– 欢迎点赞、关注、转发、收藏【我码玄黄】,各大平台同名。

0 阅读:1
我码玄黄

我码玄黄

我是一名程序猿、铲屎官,喜欢分享美食、生活和学习