0


基于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: 0KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181KAFKA_LISTENERS: PLAINTEXT://:9092KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://192.168.1.32:9092#restart: alwaysredis:image: redis
    container_name: redis
    ports:-"6379:6379"restart: always

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

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

connection to node1001 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里就能看到了。
在这里插入图片描述
如果要进行该入容器内部,可以使用命令:

dockerexec -it kafka /bin/bash

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

apt-get update 

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

docker bash: vim: command not found

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

apt-getinstallvim

参考:
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

标签: docker kafka java

本文转载自: https://blog.csdn.net/winnyrain/article/details/127369887
版权归原作者 Leckun 所有, 如有侵权,请联系我们删除。

“基于WSL2在Windows 2022部署Docker应用”的评论:

还没有评论