#Windows 11#Dockerfile#Python
1. 创建dockerfile
1. 在项目的根目录进行
pip freeze > requirements.txt
改命令将已安装的所有依赖包及其版本号导出到一个名为requirements.txt
的文本文件中。你可以打开该文件查看已安装的依赖包及其版本
2. 在项目的根目录创建Dockerfile
Dockerfile内容:
# 使用Python 3.9 作为基础镜像
FROM python:3.9
# 设置工作目录
WORKDIR /app
# 将当前目录下的所有文件复制到容器的工作目录中
COPY . /app
# 安装依赖包
RUN apt-get update
RUN pip install -r requirements.txt --index-url http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com
# 设置环境变量
ENV PYTHONUNBUFFERED=1
# 定义容器启动时执行的命令
CMD ["python", "/app/main.py"]
2. 基于dockerfile构造镜像
在根目录执行命令:
docker build -t 服务名字:版本 .
3. 错误解决
在构建镜像的时候报错
error during connect: this error may indicate that the docker daemon is not running: Get "http://%2F%2F.%2Fpipe%2Fdocker_engine/v1.24/version": open //./pipe/docker_engine: The system cannot find the file specified.
Client:
Cloud integration: v1.0.35-desktop+001
Version: 24.0.5
API version: 1.43
Go version: go1.20.6
Git commit: ced0996
Built: Fri Jul 21 20:36:24 2023
OS/Arch: windows/amd64
Context: default
解决方法:
网上众说纷纭,我是Windows的命令行cmd 中输入:bcdedit /set hypervisorlaunchtype auto 再重開機,再在Windows上登录Docker。再构建镜像就没有问题了。
补充点:
就容器构造镜像并推送DockerHub
例如我的容器是testimages,你的dockerhub账号是 wahaha
1. docker commit testimages new/testimages
2. docker tag new/testimages wahaha/testimages:v1
3. docker push wahaha/testimages:v1