手动构建Docker镜像与基本操作详解

需积分: 5 0 下载量 127 浏览量 更新于2024-08-04 收藏 4KB MD 举报
Docker是一种开源的应用容器引擎,它让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,实现快速、可靠且可重复的部署。本文档详细介绍了如何通过手动构建Docker镜像来部署Python应用,并涵盖了一系列关键操作。 1. **手动构建镜像过程**: - 首先,确保项目中的中文文件名已转换为英文,以避免在容器中运行时可能出现的问题。 - 使用`docker pull python:3.7.5`命令下载基础的Python 3.7.5镜像,这是构建应用的基础环境。 - 创建一个新的容器时,使用`docker run -it`命令,其中`-p 5000:5000`设置了主机与容器之间的端口映射,`-w /root/app`指定了工作目录。 - 在容器内,利用`pip install`安装项目所需的依赖,如pandas、Flask、scikit-learn等,以及通过HTTPS源安装jieba和zhconv等中文库。 - 容器创建后,使用`exit`命令退出,然后通过`docker cp`将app目录复制到容器的根目录下。 - 测试服务是否正常,使用`docker start`启动容器,然后用`docker exec -it`进入容器并运行`python app.py`。 - 检查服务运行良好后,将容器保存为镜像,`docker stop`停止容器,再使用`docker export`将容器导出为`.tar`文件。 - 将`.tar`文件导入其他服务器为新的镜像,例如`docker import spam.tar spam:1.0`。 - 最后,使用`docker run -d`命令在新服务器上启动并运行镜像,检查是否正常运行,可以通过`docker ps`查看容器状态,并在浏览器中访问`http://宿主机IP:5000/email_submit`测试应用。 2. **镜像管理**: - 了解镜像的状态,使用`docker images`列出所有镜像,`docker images -q`只显示镜像ID,`docker images --no-trunc`展示完整信息。 - 通过`docker search`命令搜索特定的镜像,便于查找和使用。 - `docker pull`用于下载远程镜像,如果没有指定版本,则默认下载最新版本。 - `docker run -it`命令不仅用于创建容器,还可以用于交互式运行,`--name`选项设置容器名称,`-d`标志则让容器在后台运行。 - 当不再需要某个镜像时,可以使用`docker rmi -f`强制删除镜像(如果存在冗余或者不再需要)。 总结,这个文档详细介绍了Docker在Python应用部署中的实际操作流程,包括镜像构建、管理以及容器的生命周期管理,这对于理解和实践Docker技术非常实用。通过这些步骤,开发者可以轻松地将应用部署到不同的环境中,极大地提高了开发和部署的效率和一致性。