Docker 的打包及基本使用
Docker
的打包是将应用程序及其依赖项封装到一个容器中,以便在任何支持 Docker
的环境中运行。
本教程将详细介绍如何通过 Dockerfile
打包应用程序,并基本使用 Docker
容器。
Docker 打包
创建 Dockerfile
Dockerfile
是一个文本文件,包含了一系列指令,用于自动化构建 Docker
镜像。
以下是一个典型的 Dockerfile
示例:
# 使用 Python 3.9 作为基础镜像
FROM python:3.9-slim
# 设置工作目录
WORKDIR /app
# 复制依赖文件
COPY requirements.txt .
# 安装依赖
RUN pip 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
的打包和使用是现代化应用部署的核心技能,掌握这些知识可以帮助你更高效地管理和运行应用。
– 欢迎点赞、关注、转发、收藏【我码玄黄】,各大平台同名。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。