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 命令最后有一个 ==.== )
出现下图所示, 则构建镜像成功:
构建镜像成功. png (34.61 KB, 下载次数: 0)
2023-11-22 15:13 上传
注:若多次构建可以使用 –no-cache 命令,忽略之前构建过程的缓存
7. 上述步骤完成之后, 使用 docker images 命令,可列出之前生成的镜像 es-python-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