解决 podman 容器无法在宿主机和容器内部相互访问问题的记录

近期在使用 podman 时,遇到了容器无法在宿主机和容器内部相互访问的问题。经过一番探索,参考了这篇文章,成功解决了该问题。在此,我将分享解决过程及一些特别需要注意的事项。

一、配置过程

  1. 首先,整个操作一定要在 PowerShell 中进行,输入以下命令来编辑 WSL2 的配置文件:
notepad $env:USERPROFILE\.wslconfig
  1. 若文件不存在,则创建一个新文件,并将以下内容复制到文件中:
[wsl2]
kernelCommandLine = cgroup_no_v1=all
[experimental]
networkingMode=mirrored
dnsTunneling=true
autoProxy=false
hostAddressLoopback=true
  1. 保存并关闭文件。

二、注意事项

在此,我要特别强调一点,即完成上述配置后,必须重启 WSL2 才能使配置生效。这是一个极易被忽略但又至关重要的步骤。若不重启 WSL2,那么之前所做的一切配置都将徒劳无功。

而且要明确的是,整个重启操作也是在 PowerShell 中输入以下命令来完成:

wsl --shutdown

还有一点需大家知晓,就是可以在 WSL 的容器中通过 ifconfig 命令查看到对应的 IP 。需注意的是,这里的 IP 应该存在于在 Windows 上执行 ipconfig 命令输出的 IP 中(可能不完全相同)。

三、总结

通过以上步骤,成功解决了 podman 的容器无法在宿主机和容器内部相互访问的问题。这样,就可以在 WSL2 中使用与 Windows 相同的网络配置,包括 IP 地址、子网掩码、网关和 DNS 服务器等。但请务必牢记,整个操作都是在 PowerShell 中完成,重启 WSL2 是使配置生效的关键步骤,且在 WSL 容器中通过 ifconfig 命令查看的 IP 与 Windows 上执行 ipconfig 命令输出的 IP 存在一定关联。希望这篇博文对大家有所帮助。

解决 podman 容器无法在宿主机和容器内部相互访问问题的记录的更多相关文章

  1. docker环境 宿主机和容器之间复制文件

    容器往宿主机:docker cp 3234234324234:/database_dump_bak/db_bak.dmp /home/test 宿主机往容器:docker cp wenjian_001 ...

  2. docker 容器时间跟宿主机时间同步

    docker 容器时间跟宿主机时间同步 docker cp /etc/localtime 87986863838b:/etc/docker cp /etc/localtime container-na ...

  3. 同步docker中的容器时间和宿主机相同

    同步docker中的容器时间和宿主机相同.cd /etc/ 在容器中修改下/etc/localtime文件的名称,避免冲突. mv localtime localtime_bak cp /usr/sh ...

  4. docker 宿主机与容器直接文件移动命令

    1.将容器中的文件复制到宿主机 我们把容器中的 nginx 目录整个复制到  宿主机/usr/local/nginx 目录下,使用如下命令: docker cp nginx_test: /etc/ng ...

  5. 尝试理解Linux容器进程与宿主机共享内核到底是什么意思?

    背景 近期接触容器技术时,经常看到各类比较容器与虚拟机区别的文章中会提到:容器是共享宿主机的内核,而虚拟机则是拥有自己独立的内核,所以不可能在Linux上用容器运行windows,但是用虚拟机则可以. ...

  6. 【解决】修改 docker 容器时间与宿主机不同

    修改 docker 容器时间 需求: 这几天,开发提了个需求 "测试需要模拟未来某天的业务,发现容器里面没有修改时间的权限",想在我们 k8s 集群上,调整容器时间 解决方案: 使 ...

  7. 开发时从宿主机连接容器中的MySQL

    从宿主机连接Docker容器中的MySQL 刚接触Docker,电脑安装Docker后,使用docker命令pull了一个MySQL5.6的Docker镜像,之后docker run启动创建容器. 可 ...

  8. Docker容器学习梳理 - 容器时间跟宿主机时间同步

    在Docker容器创建好之后,可能会发现容器时间跟宿主机时间不一致,这就需要同步它们的时间,让容器时间跟宿主机时间保持一致.如下: 宿主机时间 [root@slave-1 ~]# date Fri M ...

  9. Docker容器 - 容器时间跟宿主机时间同步

    在Docker容器创建好之后,可能会发现容器时间跟宿主机时间不一致,这就需要同步它们的时间,让容器时间跟宿主机时间保持一致. 转载自:https://www.cnblogs.com/kevingrac ...

  10. Docker拷贝宿主机与容器中的文件

    如果我们需要将宿主机文件拷贝到容器内可以使用 docker cp 命令,也可以将文件从容器内拷贝到宿主机 将宿主机文件拷贝到容器内 docker cp 要拷贝的宿主机文件或目录 容器名称:容器文件或目 ...

随机推荐

  1. Flink同步kafka到iceberg数据延迟,两个checkpoint后才可查询

    一.问题描述 用户配置了高级参数很多,观察kafka增量数据不多,flink负载不高情况下两个checkpoint后才可查询到数据.   排查时hdfs有数据文件产生,但是mainfast文件中最新快 ...

  2. Map模糊搜索key

    一.代码 public class StringTest { public static void main(String[] args) { Map<String, Object>map ...

  3. Kubernetes - [04] 常用命令

    kubectl 语法 kubectl [command] [TYPE] [NAME] [flags] command:指定在一个或多个资源商要执行的操作.例如:create.get.describe. ...

  4. Week08_day07(DataX从mysql上读取数据传输到HDFS上)

    简介DataX 是阿里巴巴集团内被广泛使用的离线数据同步工具/平台,实现包括 MySQL.Oracle.HDFS.Hive.OceanBase.HBase.OTS.ODPS 等各种异构数据源之间高效的 ...

  5. python基础-函数(lambda表达式、函数作参数、内置函数、推导式)和pip

    函数进阶 今日概要: 函数名就是一个变量(扩展) 匿名函数(lambda表达式) 重点内置函数--python内置函数 推导式(一行代码生成数据) 1. 函数名就是变量 def func(): pas ...

  6. Keepalived学习,双主热备高可用

    双主热备可以看做双机主备的升级(双机主备链接 https://www.cnblogs.com/hmxs/p/12041735.html),它是为了让两台设备都能提供服务,而不是主节点正常时,备用节点一 ...

  7. 获取Typora激活码的方法主要有以下几种

    ‌官方购买‌:访问Typora官网下载Typora软件.请注意,官网下载版本需购买激活,否则仅有15天试用期.购买费用为89元‌ 1. ‌使用激活工具‌:可以通过下载特定的激活工具来获取激活码.具体步 ...

  8. C# async/await使用举例

    1.async/await几点总结 a.被async标记的方法,返回值类型只能为void.Task.Task<T>. b.被async标记的方法,内部可以有await修饰符,表明内部逻辑某 ...

  9. gorm事务的rollback和commit操作

    一个事务内同一操作二次回滚(Rollback)会报错,二次提交(commit)也会报错, 如果回滚完又进行提交操作,一样会报错 循环注意把事务开启tx.Begin放在事务操作前边,操作完回滚或者提交

  10. golang 使用goto进行多错误处理

    goto 语句介绍 在 Go 语言中,可以通过goto语句跳转到标签,进行代码间的无条件跳转.另外,goto语句在快速跳出循环.避免重复退出方面可以简化代码实现过程,但在结构化程序设计中一般不主张使用 ...