Docker容器与宿主机相互访问更方便的方法

 更新时间:2023年05月11日 11:55:34   作者:郭同志  
Docker是当今使用范围最广的开源容器技术之一,具有高效易用的优点,然而如果使用Docker时采取不当安全策略,则可能导致系统面临安全威胁,这篇文章主要给大家介绍了关于Docker容器与宿主机相互访问更方便的方法,需要的朋友可以参考下

近期公司在给客户安装部署项目时,由于客户电脑处于无任何网络下,因此需要宿主机与容器之间可以互相访问;但是,由于容器的特性,localhost和127.0.0.1在容器中都是指向容器内,而不是宿主机,因此需要调整。

通过我大量搜索和实践,发现网上教的什么自定义网络和修改容器启动指定net网络都不太好用,最后通过实践发现了更方便的方法。

这里用win10测试,家庭版、专业版都适用(Linux本身有网卡,可不使用docker的虚拟网卡,不过使用docker的虚拟网卡ip也是好使的)。

首先启动你的docker,然后Win + R ,输入cmd回车,在命令行输入ipconfig,查看ip

从图中可看见,192.168.99.1就是docker的虚拟网卡ip,使用Docker desktop启动的docker就是如图的适配器名称,使用Docker toolbox部署的docker,网卡适配器名称是VirtualBox。

接着使用ping命令来ping这个docker虚拟网卡地址

ping 192.168.99.1

访问成功效果:

接着,进入docker容器内ping这个网卡ip地址

#进入容器
docker exec -it <容器ID> /bin/bash
#ping网卡ip地址
ping 192.168.99.1
#若未安装ping命令,使用以下命令进行下载
apt-get update
apt-get install -y inetutils-ping
或
apt-get install iputils-ping

ping成功效果:

由此可发现,宿主机与容器都可以ping通192.168.99.1这个ip地址,那么我们就可以使用这个ip地址来进行宿主机和容器直接的访问啦。

作者踩的坑:我自己在度娘里遨游的时候,找到了两种方法,一个是建立一个容器网络network,将容器放入这个容器网络中,这种方式只能实现容器与容器直接的快速交互, 若用docker虚拟网卡ip其实也可以互相访问,没必要建立容器网络。

二是将容器暴露在宿主机上,创建容器时增加--net=host,但是这种启动方式存在缺陷,就是端口不能进行映射了,即-p 8080:80 这个命令不能使用了,这样很容易端口冲突,导致容器无法访问;若进行生产环境部署时,十分不建议使用,当端口冲突时,十分不易察觉。

总结

到此这篇关于Docker容器与宿主机相互访问更方便的方法的文章就介绍到这了,更多相关Docker容器与宿主机相互访问内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 在windows下的安装Docker的教程

    在windows下的安装Docker的教程

    这篇文章主要介绍了在windows下的安装Docker的教程,注意只能是64的系统,需要的朋友可以参考下
    2015-12-12
  • Docker使用nodejs镜像构建express服务的方法

    Docker使用nodejs镜像构建express服务的方法

    这篇文章主要介绍了Docker使用nodejs镜像构建express服务,主要包括nodejs容器的启动,安装nodejs第三方依赖模块及启动nodejs服务的相关操作,本文给大家介绍的非常详细,需要的朋友可以参考下
    2022-07-07
  • PIP安装docker-compose超时问题解决方案

    PIP安装docker-compose超时问题解决方案

    这篇文章主要介绍了PIP安装docker-compose超时问题解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-09-09
  • 一条命令重启所有已停止的docker容器操作

    一条命令重启所有已停止的docker容器操作

    这篇文章主要介绍了一条命令重启所有已停止的docker容器操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-11-11
  • Docker 日志管理的实现示例

    Docker 日志管理的实现示例

    Docker提供了多种日志驱动来管理和提取容器日志,包括json-file、syslog、fluentd等,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-12-12
  • 查询Docker镜像DockerFile的方法步骤

    查询Docker镜像DockerFile的方法步骤

    本文主要介绍了查询Docker镜像DockerFile的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-08-08
  • Docker核心组件之联合文件系统详解

    Docker核心组件之联合文件系统详解

    这篇文章主要为大家介绍了Docker核心组件之联合文件系统详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-04-04
  • Docker 容器中安装 nvm工具的步骤

    Docker 容器中安装 nvm工具的步骤

    这篇文章主要介绍了在Docker容器中安装nvm工具的步骤,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-05-05
  • kubernetes作用领域总结

    kubernetes作用领域总结

    在本文里我们给大家整理关于kubernetes作用领域以及可以做的项目和思路,有兴趣的朋友们参考下。
    2019-06-06
  • Docker搭建Redis Cluster集群的教程详解

    Docker搭建Redis Cluster集群的教程详解

    这篇文章主要为大家详细介绍了Docker搭建Redis Cluster集群的相关知识,文中的示例代码讲解详细,具有一定的借鉴价值,有需要的可以参考下
    2024-03-03

最新评论