基于wsl2在windows下使用docker应用

2023-11-04

wsl2重启:

管理员权限打开powershell ,然后执行下面命令
powershell切换为管理员权限:
`Start-Process powershell -Verb runAs`
关闭服务:`net stop LxssManager`
重启服务:`net start LxssManager`

wsl2设置固定ip:

编写一个bat脚本,管理员方式运行:

@echo off
setlocal enabledelayedexpansion
::先停掉可能在跑的wsl实例
wsl --shutdown ubuntu
if !errorlevel! equ 0 (
    ::检查WSL有没有我需要的IP
    wsl -u root ip addr | findstr "192.168.0.155" > nul
    if !errorlevel! equ 0 (
        echo wsl ip has set
    ) else (
        ::IP不存在则绑定IP
        wsl -u root ip addr add 192.168.0.155/24 broadcast 192.168.0.255 dev eth0 label eth0:1
        echo set wsl ip success: 192.168.0.155
    )
    ::检查宿主机有没有我需要的IP
    ipconfig | findstr "192.168.0.156" > nul
    if !errorlevel! equ 0 (
        echo windows ip has set
    ) else (
        ::IP不存在则绑定IP
        netsh interface ip add address "vEthernet (WSL)" 192.168.0.156 255.255.255.0
        echo set windows ip success: 192.168.0.156
    )
)
 ::为主机设置SSH转发端口
 netsh interface portproxy add v4tov4 listenaddress=0.0.0.0 listenport=23 connectaddress=192.168.0.155 connectport=23

pause

但是此方法有个弊端是,每次重启电脑的时候都要运行一下。

ssh连接wsl2:

1.进入wsl子系统卸载重装ssh服务:
卸载
sudo apt remove openssh-server
安装
sudo apt install openssh-server

2.修改配置信息:
(1) 修改SSH Server的监听端口,这里为23
sudo sed -i '/Port /c Port 23' /etc/ssh/sshd_config
(2) 修改SSH Server的监听地址
sudo sed -i 'ListenAddress 0.0.0.0/c ListenAddress 0.0.0.0' /etc/ssh/sshd_config
(3) 修改SSH Server允许使用用户名密码方式登录
sudo sed -i '/PasswordAuthentication /c PasswordAuthentication yes' /etc/ssh/sshd_config
(4) 修改SSH Server允许远程root用户登录
sudo sed -i '/PermitRootLogin /c PermitRootLogin yes' /etc/ssh/sshd_config

3.重启ssh服务
sudo service ssh restart

4.使用ssh登录
ssh root@192.168.0.156 -p 23

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

基于wsl2在windows下使用docker应用 的相关文章

  • 我应该将Python的pyc文件添加到.dockerignore吗?

    我见过几个例子 dockerignorePython 项目的文件 其中 pyc文件和 或 pycache 文件夹被忽略 pycache pyc 由于无论如何这些文件 文件夹都会在容器中重新创建 我想知道这样做是否是一个好习惯 是的 这是一个
  • 无需超级用户即可在 Linux 中打开 RAW 套接字

    我必须编写一个在 Linux 上运行的 ping 函数 语言是 C 所以 C 也可以 在网上搜索并查看源代码ping命令 事实证明我应该创建一个原始套接字 icmp sock socket AF INET SOCK RAW IPPROTO
  • C 语言的符号表

    我目前正在开发一种执行模式匹配的静态分析工具 我在用Flex https github com westes flex生成词法分析器 我编写了代码来管理符号表 我不太有经验C 所以我决定将符号表实现为线性链表 include
  • 如何使环境变量可用于 docker-compose 中的 Docker RUN 命令?

    我有一个 Dockerized 应用程序 我想在代理和非代理主机环境中运行 我试图通过将普通环境变量 例如 http proxy 复制到容器中 当且仅当它们存在于主机中时 来解决此问题 我可以通过跑步完成 90 的任务 set grep i
  • 并行运行 shell 脚本

    我有一个 shell 脚本 打乱大型文本文件 600 万行和 6 列 根据第一列对文件进行排序 输出 1000 个文件 所以伪代码看起来像这样 file1 sh bin bash for i in seq 1 1000 do Generat
  • 使用 MAX_ORDER / 包含 mmzone.h

    根据https www kernel org doc Documentation networking packet mmap txt https www kernel org doc Documentation networking pa
  • 使用 shell 脚本将行附加到 /etc/hosts 文件

    我有一个新的 Ubuntu 12 04 VPS 我正在尝试编写一个安装脚本来完成整个 LAMP 安装 我遇到问题的地方是在 etc hosts文件 我当前的主机文件如下所示 127 0 0 1 localhost Venus The fol
  • 在 Mono 上运行 .Net MVC5 应用程序

    我正在 Windows 上的 Visual Studio 2013 中开发 Net 4 5 1 MVC5 应用程序 现在我想知道 是否可以在Linux Ubuntu 12 04 上运行这个应用程序 可以使用OWIN吗 Owin 可以自托管运
  • .net-core:ILDASM / ILASM 的等效项

    net core 是否有相当于 ILDASM ILASM 的功能 具体来说 我正在寻找在 Linux 上运行的东西 因此为什么是 net core ildasm 和 ilasm 工具都是使用此存储库中的 CoreCLR 构建的 https
  • 使用 docker for windows 工具箱切换到 Windows 容器

    我已经在 Windows 7 64 位操作系统上安装了 docker for windows toolbox 我无法使用 docker 菜单切换到 Windows 容器 因为 docker 图标在系统托盘中不可用 Docker 服务也不可用
  • 静态方法的 Java 内存模型

    我来自操作系统和 C 语言背景 在代码编译时 世界很简单 需要处理和理解堆栈 堆文本部分等 当我开始学习 Java 时 我确实了解 JVM 和垃圾收集器 我对静态方法感到很有趣 根据我的理解 类的所有实例都会在堆中创建 然后被清理 但是 对
  • 错误:“rjags”的包或命名空间加载失败

    在终端的 conda 环境之一中 我能够成功安装包 rjags 但是 当我在该环境中运行 R 并运行库 rjags 时 出现以下错误 加载所需的包 coda 错误 rjags 的包或命名空间加载失败 rjags 的 loadNamespac
  • 无法从 rollupOptions 自动确定入口点

    我正在尝试对使用 vite 和 vue3 创建的前端应用程序进行 dockerize 它不作为容器工作 这是错误响应 无法从 rollupOptions 或 html 文件自动确定入口点 并且没有显式的 OptimizeDeps inclu
  • 绕过 dev/urandom|random 进行测试

    我想编写一个功能测试用例 用已知的随机数值来测试程序 我已经在单元测试期间用模拟对其进行了测试 但我也希望用于功能测试 当然不是全部 最简单的方法是什么 dev urandom仅覆盖一个进程 有没有办法做类似的事情chroot对于单个文件并
  • 使用 gdb 调试 Linux 内核模块

    我想知道 API 在内核模块 中返回什么 从几种形式可以知道 这并不是那么简单 我们需要加载符号表来调试内核模块 所以我所做的就是 1 尝试找到内核模块的 text bss和 data段地址 2 在 gdb 中使用 add symbol f
  • 没有特权访问的 Docker VPN IPSec 客户端

    我有一个 mysql 数据库 只有在建立 VPN 连接后才能访问 IpSec shared secret 用户名 密码 所以我想运行一个隔离的docker容器 它将建立此连接并以某种方式代理 公开mysql端口 以便其他容器可以连接到它而不
  • 检查已安装的软件包,如果没有找到则安装

    我需要检查已安装的软件包 如果未安装则安装它们 RHEL CentOS Fedora 示例 rpm qa grep glibc static glibc static 2 12 1 80 el6 3 5 i686 如何在 BASH 中进行检
  • 从 Linux 内核模块中调用用户空间函数

    我正在编写一个简单的 Linux 字符设备驱动程序 以通过 I O 端口将数据输出到硬件 我有一个执行浮点运算的函数来计算硬件的正确输出 不幸的是 这意味着我需要将此函数保留在用户空间中 因为 Linux 内核不能很好地处理浮点运算 这是设
  • 使用自定义堆的类似 malloc 的函数

    如果我希望使用自定义预分配堆构造类似 malloc 的功能 那么 C 中最好的方法是什么 我的具体问题是 我有一个可映射 类似内存 的设备 已将其放入我的地址空间中 但我需要获得一种更灵活的方式来使用该内存来存储将随着时间的推移分配和释放的
  • 为什么 Docker 不支持多租户?

    我看了这个关于 Docker 的 YouTube 视频 https www youtube com watch v vb7U 9AO7Ww22 00 演讲者 Docker 产品经理 说道 您可能会想 Docker 不支持多租户 您是对的 但

随机推荐

  • 【Spring八】Spring与Hibernate整合

    Hibernate所需元素 三要素 实体类 hbm xml hibernate cfg xml Spring所需元素 applicationContext xml hibernate在操作数据库时 使用sessionFactory open
  • 华为OD机试 - 绘图机器(Java)

    题目描述 绘图机器的绘图笔初始位置在原点 0 0 机器启动后按照以下规则来进行绘制直线 1 尝试沿着横线坐标正向绘制直线直到给定的终点E 2 期间可以通过指令在纵坐标轴方向进行偏移 offsetY为正数表示正向偏移 为负数表示负向偏移 给定
  • 第一章 指针仪表识别之仪表检测

    文章目录 一 基于Hough变换的仪表检测 附源码 二 基于SURF模板匹配仪表检测 附源码 三 基于YOLO深度学习的仪表检测 附源码 指针式仪表读数算法主要用于工业变电站环境 变电站环境复杂 仪表类型众多 仪表图像通过巡检机器人的可见光
  • jdk17.0.6的安装配置

    下载资源 官网下载 Java Archive Downloads Java SE 17 oracle com https www oracle com java technologies javase jdk17 archive downl
  • Cuda Streams的概述(一)-- Cuda介绍

    最近在做有关Cuda的一个项目 碰到匪夷所思的问题 在异步的时候发现并没有达到预期的效果 程序没有异步起来 然后在网上找了一个Nvida的有关Cuda Streams的一个ppt 然后照着里面的提示 使程序达到了异步的效果 首先 先回顾一下
  • linux VLAN配置(vconfig)

    1 安装vlan vconfig 和加载8021q模块 aptitude install vlan modprobe 8021q 或 yum install vconfig modprobe 8021q lsmod grep i 8021q
  • AndroidStudio编译构建报错 Task ‘wrapper‘ not found in project ‘:xxx‘

    在项目 app 中找不到的任务 包装器 Task wrapper not found in project xxx 的问题 原因 build gradle 文件没有包装器任务 解决步骤 将此代码添加到 build gradle task w
  • PO、VO、DAO、BO、DTO、POJO 能分清吗?

    一 PO persistant object 持久对象 可以看成是与数据库中的表相映射的java对象 使用Hibernate来生成PO是不错的选择 二 VO value object 值对象 通常用于业务层之间的数据传递 和PO一样也是仅仅
  • vue中的h函数与JSX语法

    vue不仅像react一样实现了jsx 而且还借助jsx发挥了javascript动态画的优势 了解学习jsx可以让你更灵活的开发需求 一 h函数 在聊vue中的JSX之前 需要简单介绍一下 h 函数 理解了 h 函数 会更好的理解JSX
  • 华为OD机试 - 士兵过河(Java)

    题目描述 一支N个士兵的军队正在趁夜色逃亡 途中遇到一条湍急的大河 敌军在T的时长后到达河面 没到过对岸的士兵都会被消灭 现在军队只找到了1只小船 这船最多能同时坐上2个士兵 当1个士兵划船过河 用时为 a i 0 lt i lt N 当2
  • mybatis更新和插入语句报错的原因和解决方法

    做一个小项目时 想实现添加和修改用户的功能 发现以下语句程序报错 INSERT INTO hrm user NAME PASS WORD STATUS DESC role createDATE createUSER VALUES 1 2 3
  • WorldEdit 指令大全 & 开发记录

    文章目录 服务端 客户端 运行配置 通用指令 好用刷子 圆球刷 Brush Sphere br sp 地板刷子 Brush Cyl br cyl 树木刷子 tree 服务端 客户端 运行配置 服务端 Spigot 1 14 4 插件版本 W
  • word页面上方有横线选不中删不掉

    依次点击 设计 页面边框 选择无
  • 批处理文件命名(简单有效且粗暴!)

    批处理文件命名 简单有效且粗暴 方法 方法一 方法二 方法 网上的方法层出不穷 但是真正有效的几乎没有 本文罗列外加自己领悟 给出了两个真实且有效的方法 方法一 直接下载粗暴且有效的工具 Totao commander 这是官网的简介 To
  • Apache -poi

    Busy Developers Guide to Features Want to use HSSF and XSSF read and write spreadsheets in a hurry This guide is for you
  • 添加了@LoadBalanced注解,即可实现负载均衡功能,这是什么原理呢?

    SpringCloud01 认识微服务 任何架构都离不开服务的拆分 微服务的拆分和远程调用你会吗 Eureka学习 搭建eureka server 将user service注册到eureka server中 Ribbon负载均衡 上一节中
  • json/xml/schema

    JSON JSON是JavaScript Object Notation的缩写 是一种轻量级的数据交换格式 是理想的接口数据交换语言 官网 https www json org json en html 工作json请求体 json字符串
  • docker cp拷贝文件_Docker - A焕然一新

    Docker的基本组成 镜像 容器 仓库 镜像 image 就像是一个模板 可以通过这个模板来创建容器服务 通过镜像可以创建多个容器 最终服务运行或者项目运行就在容器中 容器 container Docker利用容器技术 独立运行一个或者一
  • [附源码]java毕业设计网上博物馆设计

    项目运行 环境配置 Jdk1 8 Tomcat7 0 Mysql HBuilderX Webstorm也行 Eclispe IntelliJ IDEA Eclispe MyEclispe Sts都支持 项目技术 SSM mybatis Ma
  • 基于wsl2在windows下使用docker应用

    wsl2重启 管理员权限打开powershell 然后执行下面命令 powershell切换为管理员权限 Start Process powershell Verb runAs 关闭服务 net stop LxssManager 重启服务