Python 项目打包成 docker 容器【docker build 构建 docker 镜像】

type
status
date
slug
summary
tags
category
icon
password

重点摘要

将本地 Python 项目打包构建 docker 镜像,并在 docker 中运行【流程 1-8】
Docker Compose (Docker 编配)
附录: 其他常用 docker 命令

1. 首先, 完成本地 Python 的开发、测试;

2. 将项目依赖库 (即本地 python 环境) 进行导出, 使用如下命令:

执行完成后会生成一个叫 requirements 的 TXT 文件

2.1 ==requirements.txt== 文件也可以根据项目需要手动编写,格式如下:

3. 在宿主机上, 新建文件夹, 以 es-python 文件夹为例, 放入如下内容:

4. 编写 Dockerfile, 创建一个文件叫 Dockerfile, 内容如下:

在 es-python 文件夹下,新建一个 Dockerfile 文件:
编写 ==Dockerfile== 内容:

5. 假设宿主机上已经装好 docker, 此时切换到 es-python 路径下

6. 执行 ==docker build== 命令, 根据 dockerfile 构建出一个对应的镜像 (注意, docker build 命令最后有一个 ==.== )

出现下图所示, 则构建镜像成功
notion image
构建镜像成功. png (34.61 KB, 下载次数: 0)
2023-11-22 15:13 上传
注:若多次构建可以使用 –no-cache 命令,忽略之前构建过程的缓存

7. 上述步骤完成之后, 使用 docker images 命令,可列出之前生成的镜像 es-python-image

notion image
镜像 list.png (48.2 KB, 下载次数: 0)
2023-11-22 15:13 上传

8、根据镜像,创建、命名容器, 并执行

== 注意 ==: 5033 端口应该是容器内项目暴漏出来的端口, 例如 “SERVICE_PORT”: 5033;
5034 端口不应该跟宿主机上其他端口冲突。
至此,项目以 docker 容器格式运行了…

9、==Docker Compose (Docker 编配)==

docker run 如果需要的参数过多,则可以编写 ==docker-compose.yml==,然后使用 docker-compose up 命令来启动容器;
也可以 == 同时启动多个容器 ==;

9.1 在 es-python 文件夹下, 创建 docker-compose.yml 文件

9.2 根据需要, 编写 docker-compose.yml 内容 (仅以一个容器为例)

${**} 内容根据实际需要编写

9.3 进入 docker-compose.yml 所在文件路径, 运行 >> docker-compose up 命令, 即可启动这些容器

附录: 其他常用 docker 命令

docker run 的其他参数:

获取容器详细信息

查看容器日志

查看容器内部所有进程

列出所有镜像

查找镜像

停止容器

删除容器

删除镜像

在已经存在的容器中, 运行交互命令

重启 docker

保存 / 备份镜像文件 image

导入镜像文件 image

保存容器 container

载入容器 container

注: docker import 用来载入容器包,但会恢复为镜像
  • Waline

没有找到文章