为了账号安全,请及时绑定邮箱和手机立即绑定

Docker 的打包及基本使用

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.txtapp.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 的打包和使用是现代化应用部署的核心技能,掌握这些知识可以帮助你更高效地管理和运行应用。

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

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
软件工程师
手记
粉丝
1
获赞与收藏
0

关注作者,订阅最新文章

阅读免费教程

  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消