一. 开始前应在windows端安装docker的客户端
1、Windows11是找不到Hyper-V的,需要自行安装
2、创建一个hyper.bat文件,编辑,复制以下代码到文件中
pushd "%~dp0"
dir /b %SystemRoot%\servicing\Packages\*Hyper-V*.mum >hyper-v.txt
for /f %%i in ('findstr /i . hyper-v.txt 2^>nul') do dism /online /norestart /add-package:"%SystemRoot%\servicing\Packages\%%i"
del hyper-v.txt
Dism /online /enable-feature /featurename:Microsoft-Hyper-V-All /LimitAccess /ALL
3、以管理员身份运行hyper.bat,运行了之后需要按Ctrl+C停下来,否则会一直重复执行,最后输入Y,确认完成Hyper-V的安装
4、打开控制面板->程序->启用或关闭Windows功能勾选Hyper-V,同时勾选适用于Linux的Windows子系统以及虚拟机平台,重启电脑(可以等安装WSL的时候再重启)
二、安装WSL
1、以管理员身份打开PowerShell,输入命令安装WSL
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All
2、完成,重启电脑,完成安装
3、如果WSL版本太低,升级WSL
wsl.exe --update
三、安装docker
下载链接(需科学)https://www.docker.com/products/docker-desktop/
下载后直接安装即可
至此,docker以及相关环境的安装已经完成。
四、创建阿里云镜像仓库
创建阿里云镜像仓库,本次不再赘述,密码为(个人创建)
链接https://cr.console.aliyun.com/
登录后先创建命名空间,再创建仓库名,需要注意的是,一个docker对应一个仓库,如你想打包的是helloworld.py,那么仓库名也需要命名成helloworld
五、构筑dockerfile
FROM python:3.12-slim
# 设置工作目录
WORKDIR /appd
# 安装系统依赖
RUN apt-get update && apt-get install -y --no-install-recommends \
git \
&& rm -rf /var/lib/apt/lists/*
# 安装Python依赖
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
# 复制项目代码
COPY . .
# 启动服务
CMD ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "8000"]
六、换源
因为在本地windows使用docker在打包时可能会有网络问题,故我们需要换源
进入 c:\users\用户名 \ .docker\deamon.json
{
"builder": {
"gc": {
"defaultKeepStorage": "20GB",
"enabled": true
}
},
"experimental": false,
"registry-mirrors": [
"https://docker.1ms.run"
]
}
七、启动docker
使用管理员模式打开docker destop
八、打包并上传镜像
构筑镜像docker build
docker build -t app-server:v1.0.0 .
.表示将同级下的全部文件打包
使用docker imags获得image id
docker images
登录阿里云账号(终端中,username需自行设置,阿里云网站里面有写)
docker login --username=xxxxxx crpi-phrybi23i96jrlni.cn-guangzhou.personal.cr.aliyuncs.com
将docker 打标签
示例
docker tag [ImageId] crpi-phrybi23i96jrlni.cn-guangzhou.personal.cr.aliyuncs.com/app12311/app-server:[镜像版本号]
实例
docker tag 04744ad92e7a crpi-phrybi23i96jrlni.cn-guangzhou.personal.cr.aliyuncs.com/app12311/app-server:v1.0.0
将docker上推
示例
docker push crpi-phrybi23i96jrlni.cn-guangzhou.personal.cr.aliyuncs.com/app12311/app-server:[镜像版本号]
实例
docker push crpi-phrybi23i96jrlni.cn-guangzhou.personal.cr.aliyuncs.com/app12311/app-server:v1.0.0
至此后端docker打包完成,可以在镜像仓库检查结果
1186

被折叠的 条评论
为什么被折叠?



