基于WSL2在Windows 2022部署Docker应用

系统要升级到Windows Server 2022,原来的Docker ToolBox要换成Docker Desktop了,下面一起来踩坑。
一、下载Docker Desktop安装
https://www.docker.com/products/docker-desktop/
安装过程就不详细了。
二、升级为WSL 2
安装后启动可能会报WSL 2 installation is incomplete

在这里插入图片描述
按照提示上的连接点进去,下载WSL2 Update安装后重启Docker Desktop即可在这里插入图片描述
三、在WSL 2下使用Docker
很多教程要装什么HyperV,其实不用,这个WSL 2就是代替原来虚拟机的,是一个正宗的Linux Container,用HyperV的叫Windows Contariner,这个可以在Docker Desktop右下角图标右击的时候切换,但我们不要切换,保持在Linux Container即WSL2下使用。
直接win + R 输出CMD打开控制台,输入docker ps查看我们的docker是否正常运行。

四、在Docker里安装应用
这里直接使用docker compose,建一个文件docker-compose.yml

version: '2'
services:
  zookeeper:
    image: wurstmeister/zookeeper
    container_name: zookeeper
    ports:
      - "2181:2181"
    restart: always
  kafka:
    image: wurstmeister/kafka:latest
    container_name: kafka
    ports:
      - "9092:9092"
    environment:
      #KAFKA_BROKER_ID: 0
      KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
      KAFKA_LISTENERS: PLAINTEXT://:9092
      KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://192.168.1.32:9092

    #restart: always
  redis:
    image: redis
    container_name: redis
    ports:
      - "6379:6379"
    restart: always

要注意的是以下两个参数:

KAFKA_LISTENERS:为本地监听端口,这里遇到一个坑,原来是填PLAINTEXT://localhost:9092的,但最后Kafka老是报如下错误:

connection to node 1001 could not be established. broker may not be available

后来发现localhost不一定是指本地,所以要把它置空让Kafka自己获取即可解决。

KAFKA_ADVERTISED_LISTENERS:是用于consumer和producer的远程端口,该连接地址和端口,要与consumer和producer设置的一致。

cd切换到该yml目录下,然后打命令:
docker-compose -d up,稍等一会即会自动下载images并组成container运行。然后在Docker desktop里就能看到了。
在这里插入图片描述
如果要进行该入容器内部,可以使用命令:

docker exec -it kafka /bin/bash

其中kafka是容器名称。
进入容器后,由于docker-desktop里的linux是精简版,有些命令不存在,因此需要使用命令更新一下

apt-get update 

然后一些工具命令也无法使用时,例如

docker bash: vim: command not found

需要单独使用以下命令下载安装即可。

apt-get install vim

参考:
https://docs.docker.com/desktop/
https://blog.csdn.net/weixin_42222436/article/details/125945225
https://blog.csdn.net/qq_46028126/article/details/126310226
https://blog.csdn.net/he3more/article/details/104696081

  • 2
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
你可以按照以下步骤在 Windows 上安装 WSL 2 和 Docker: 1. 首先,请确保你的 Windows 版本为 Windows 10 版本 2004 或更高版本,并启用了虚拟化功能。 2. 打开 PowerShell 作为管理员,并运行以下命令以启用 WSL 功能: ``` dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart ``` 3. 下载并安装 WSL 2 更新包: - 从 https://aka.ms/wsl2kernel 下载 WSL 2 Linux 内核更新包。 - 安装该更新包。 4. 设置 WSL 默认版本为 2: - 打开 PowerShell 作为管理员,并运行以下命令: ``` wsl --set-default-version 2 ``` 5. 安装适用于 WSL 的 Linux 发行版: - 打开 Microsoft Store 应用商店。 - 在搜索栏中搜索你选择的 Linux 发行版(如 Ubuntu、Debian、Fedora 等)。 - 选择一个发行版并安装。 6. 配置 WSL 2: - 在 PowerShell 中运行以下命令,将 WSL 2 设置为默认发行版的版本 (将 "YOUR_DISTRO_NAME" 替换为你安装的发行版名称): ``` wsl --set-version YOUR_DISTRO_NAME 2 ``` 7. 下载并安装 Docker Desktop for Windows: - 访问 Docker 官方网站:https://www.docker.com/products/docker-desktop - 下载 Docker Desktop for Windows 并运行安装程序。 8. 在 Docker Desktop 中启用 WSL 2 后端: - 打开 Docker Desktop,点击系统托盘中的 Docker 图标。 - 选择 "Settings"。 - 在 "General" 选项卡下,勾选 "Use the WSL 2 based engine"。 - 选择你所安装的 Linux 发行版作为默认的 WSL 发行版。 现在,你已经成功在 Windows 上安装了 WSL 2 和 Docker。你可以在 WSL 中运行 Docker 命令并使用容器了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值