Windows11家庭版 docker安装与使用

1. 安装Hyper-V

Windows 家庭版没有 Hyper-V,必须先安装它。如果有专业版、教育版或企业版,则可以跳过此步骤。复制以下批处理代码,新建空白文本后保存,保存更改文本 .txt 后缀为 .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
pause

重新启动后,Hyper-V 将在 Windows 上安装并自动启用。

2. 开启Hyper-v

在电脑中搜索“启用或关闭 Windows 功能”,如下图所受,开启Hyper-v。

3. 安装Docker

网站:Install Docker Desktop on Windows | Docker Docs

安装程序界面无更改安装路径的选项,如需更改路径需要在命令行更改安装路径,命令如下所示:

"E:\EdgeDownload\Docker Desktop Installer.exe" install --installation-dir="D:\Program Files\Docker"

前者是安装程序所在目录,后者是安装后的Docker Desktop所在路径。
 

后面就是直接安装即可,安装完后会重启。重启后docker desktop即安装完成了。后打开docker界面,注册账号并登录。

4. 配置Docker Desktop

需要在配置里至少开启如下两个选项。这两个选项分别是开启远程连接(当然,是内网),第二个是说使用WSL来当作Docker的运行系统,不开启就是使用虚拟机了。

Docker配置国内镜像源如下所示。

{
  "builder": {
    "gc": {
      "defaultKeepStorage": "20GB",
      "enabled": true
    }
  },
  "experimental": false,
  "registry-mirrors": ["http://hub-mirror.c.163.com",
                       "https://registry.docker-cn.com",
                       "https://docker.mirrors.ustc.edu.cn",
                       "https://cr.console.aliyun.com"]
}

此外,在设置中需要将硬盘映像文件的存储位置更改,免得C盘爆炸

期间出了一些小问题。docker打开后主页面显示Docker Engine Stopped

 找了几篇博客来处理,没啥用。后面卸载重新安装就好了。以下是解决这个问题的博客

https://www.cnblogs.com/jokingremarks/p/18156334

https://blog.csdn.net/weixin_43576565/article/details/134044435

5. 打包python项目

首先创建一个python项目,在根目录下生成requirements.txt文件来要求安装的依赖,并在根目录下创建Dockerfile文件(直接创建一个文件,不用写后缀名)。即在根目录下面新建三个文件:Dockerfile,项目文件(或文件夹),requirements.txt。

Dockerfile文件是定义一切步骤的源文件,其常用命令如下:

FROM python:3.8

# 设置工作目录
WORKDIR /code

# 复制项目文件到容器中
COPY . /code

# 如果你的镜像中没有 tzdata,则需要安装它
# 注意:python:3.6 官方镜像可能已包含 tzdata
# RUN apt-get update && apt-get install -y tzdata && rm -rf /var/lib/apt/lists/*

# 设置时区为东八区(中国标准时间)
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' > /etc/timezone

# 安装依赖
RUN pip install -i https://pypi.tuna.tsinghua.edu.cn/simple -r requirements.txt

# 暴露端口
EXPOSE 7010

# 设置容器启动时运行的命令
CMD ["python3", "./app/main.py"]

写好Dockerfile文件后,打开cmd终端,进入Dockerfile所在目录,运行如下命令构建镜像,这里注意后面有一个 .

docker build -t demo:v1 .

 在这里出现了报错=> ERROR [internal] load metadata for docker.io/library/python:3.8  ,初步怀疑是包太大下载不了的原因(但后面下载依赖包的时候也有大包,却没报错),我查找了多个解决方案,准备先执行命令docker pull python:3.8,但是也报错了,后面发现可能是没登录成功。

故最后解决流程如下:

1.先在终端输入docker login,判断自己登录成功没,登录成功后再进行下一步

2.终端输入命令docker pull python:3.8,待pull成功基础镜像后再build容器。

目前还不知道是不是python包太大的原因,可能基础镜像最好先pull再构建容器。

 

6.Docker把容器打包成镜像并迁移到另外一台服务器上运行

Docker把容器打包成镜像并迁移到另外一台服务器上运行_docker打包镜像到本地 传到其他服务器-CSDN博客


 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值