完美解决Windows10下无法对docker容器进行端口访问的操作

解决Windows10下无法对docker容器进行端口访问(端口映射的问题)

在Windows10系统服务器中安装了docker和docker-compose

并尝试在其中运行Nginx服务,映射也做好

问题:在主机的浏览器中,打开localhost:port无法访问对应的Web服务。

问题解析

原因:docker是运行在Linux上的,在Windows中运行docker,实际上还是在Windows下先安装了一个Linux环境,然后在这个系统中运行的docker。

也就是说,服务中使用的localhost指的是这个Linux环境的地址,而不是我们的宿主环境Windows10。

解决办法

启动docker命令行窗口

输入命令

docker-machine ip default

Linux的ip地址,一般情况下这个地址是192.168.99.100

然后在Windows的浏览器中,输入 http://IP:port 即可启用(http://192.168.99.100:8069)

补充知识:Nacos 1.2.1 Nacos 本地部署服务,修改默认端口无效,Docker 部署没有该问题

一、场景描述

在常规的项目开发过程中,特别是生产环境的部署,都会尽量避免使用敏感的端口。在本次测试过程中,将 Nacos-server-1.2.1 startup.bat 启动的服务器默认端口 8848 修改为 8858,Nacos 可以正常访问和登录。

但是项目启动还是获取拉取 8848 的资源服务,目前在 nacos-server-1.2.1 和 nacos-server-1.3.2 都存在此问题。经过测试,通过 Docker 部署的 Nacos 服务修改默认端口后没有该问题。

二、配置步骤

修改 nacos-server-1.2.1 文件夹下的 conf 下的 application.properties 的端口配置为 8858

以 startup.cmd 的方式启动 nacos-server-1.2.1

检查 Nacos 服务是否可以正常访问

修改项目中的访问发现和配置中心的地址和端口

启动项目

三、解决方案

已经提了 ISSUE,可以及时关注进度

采用 Docker 部署 Nacos 服务器

采用默认端口,不对端口进行修改

以上这篇完美解决Windows10下无法对docker容器进行端口访问的操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • Docker 通过端口来连接一个容器的实现

    Docker容器的连接 1.网络端口映射 我们创建一个python应用的容器 # docker run -d -P training/webapp python app.py 我们使用 -P 参数创建一个容器,使用 docker ps 来看到端口5000绑定主机端口32768 我们也可以使用 -p 标识来指定容器端口绑定到主机端口. 两种方式的区别是: -P :是容器内部端口随机映射到主机的高端口. -p : 是容器内部端口绑定到指定的主机端口. ------------------------

  • docker容器无法访问宿主机端口的解决

    最近在工作时遇到一个问题,docker容器无法访问宿主机的redis,telent6379端口不通. 经排查发现,该服务器启用了防火墙,防火墙把6379的端口的访问授权给docker0网卡访问即可. 操作如下: firewall-cmd --permanent --zone=trusted --change-interface=docker0 firewall-cmd --reload 补充知识:docker 启动mysql 容器出错Ports are not available: listen

  • docker利用单个镜像映射到多个端口操作

    需求: 官网的资源服务器肯定不能使用一个实例, 需要多个一起,但是如果继续复制太慢了,我就想能不能直接使用docker镜像,多制造几个相同的容器实例 前后两个docker-compose.yml version: '3' services: micro-hcnet-website-13: image: 172.18.0.1:5000/hcnet-website-12:0.0.1-SNAPSHOT restart: on-failure ports: - 8311:8211 ~ version:

  • WIN10系统和Docker内部容器IP互通方式

    1.安装了Window版本的Docker之后,我们启动 Docker Quickstart Terminal ,我们会得到一个IP,我的为: 192.168.99.100 2.启动一个mysql镜像,并获取这个镜像的IP: 在开始的时候,从本机直接到172.17.0.2是网络不通的,但是我们本机能到 192.168.99.100,172.17.0.2到192.168.99.100也是通的,我们可以在本机配置一个到172.17.0.2通过192.168.99.100的路由: route add -

  • 完美解决Windows10下无法对docker容器进行端口访问的操作

    解决Windows10下无法对docker容器进行端口访问(端口映射的问题) 在Windows10系统服务器中安装了docker和docker-compose 并尝试在其中运行Nginx服务,映射也做好 问题:在主机的浏览器中,打开localhost:port无法访问对应的Web服务. 问题解析 原因:docker是运行在Linux上的,在Windows中运行docker,实际上还是在Windows下先安装了一个Linux环境,然后在这个系统中运行的docker. 也就是说,服务中使用的loca

  • 完美解决linux下U盘文件只读的问题

    1. 在终端运行如下命令 tail -f /var/log/syslog 2. 插入有只读文件系统故障的U盘 3. 观察命令行输出 输出局部如下: Jul  8 16:44:50 cslouis-pc kernel: [15595.155904] FAT: Filesystem error (dev sdb4) Jul  8 16:44:50 cslouis-pc kernel: [15595.155905]    fat_get_cluster: invalid cluster chain (

  • 解决windows10下"sqlplus / as sysdba"执行提示无权限问题

    ORA_DBA:是ORACLE 的特有用户,是超级管理员权限,建成DBA 它具有管理数据库的最高权限. 注明:需要以管理员身份运行cmd,不然第4步会失败(点开始,输入cmd,右键以管理员身份运行) 1.利用命令查看当前系统用户:net user 这是当前系统中所有的用户. 2.查看用户组 net localgroup–查看用户组: 3.查看ora_dba用户组下的具体用户: net localgroup ora_dba; 并没有第一步中查到的本机管理员用户. 4.添加本机管理员用户(切记系统登

  • 完美解决linux下node.js全局模块找不到的情况

    今天在在linux上用npm安装了pm2准备部署node项目,结果通过pm2命令启动项目的时候报pm2找不到,这很伤,以为pm2没有安装成功,但是在node安装目录下面的bin文件夹里面调用pm2却没问题. /usr/local/node/node-v7.3.0-linux-x64/bin/pm2 list 类似这样调用pm2 list命令查看pm2启动的项目没有任何问题. 原来linux系统上通过npm全局安装了模块以后,不能像windos下面那样自动配置环境变量,需要自己动手配置...好吧,

  • Docker容器数据卷介绍及操作示例

    目录 容器数据卷介绍 什么是数据卷 数据卷能做什么? 特点 Docker 容器数据卷操作 直接命令添加数据卷 dockerfile 添加数据卷 Docker 数据卷容器 数据卷容器简介 案例演示 容器数据卷介绍 什么是数据卷 将运用与运行的环境打包形成容器运行,运行可以伴随着容器,但是我们对数据的要求是持久化的. 容器之间希望有可能共享数据. Docker 容器产生的数据,如果不通过 docker commit 生成新的镜像,使得数据做为镜像的一部分保存下载,那么当容器删除后,数据自然也就没有了

  • Docker容器修改端口映射的实现

    目录 可解决问题如下 解决方案 可解决问题如下 (1) 在不删除现有容器的情况下, 修改原有容器的端口映射; (2) 创建容器的时候指定了一个端口映射, 但是创建之后的容器存在多个端口映射; 具体描述 1 首先创建一个容器并指定端口映射; sudo docker run -it --name forge_restful -v /data01/wangxiaofei01/project/restful/wanmingTask/forge_restful_api -p 8076:8076 -d 01

  • 解决Windows10下mysql5.5数据库命令行中文乱码问题

    重置系统后,很久之前安装的MySQL数据库出现了控制台查询中文乱码问题,时间太久早已经不记得怎么设置了. 网上查询了许多,各种设置,重启数据库后仍然是中文乱码. 可能是我搜索方式不对,最后还好已经解决,特开一处女博记录一下: 打开安装目录下的my.ini文件 我的是:C:\Program Files\MySQL\MySQL Server 5.5下面,修改如下: [client] default-character-set=utf8 port=3306 [mysql] #网上下面这个 gbk 很多

  • ajax完美解决的下拉框的onchange问题

    即在触发地区下拉框的onchange事件时,代理商的下拉框选项也相应的改变,比如选择地区 湖南-〉长沙,那么代理商下拉框只显示长沙的代理商. 本来认为这个很好实现,但实际改起来的时候发现问题多多,主要问题是原有的地区联动是用js实现的,它的数据源是一个xml文件,当然如果下拉框是服务器端控件那么问题是很好解决的,现在是html控件一下子似乎还真有些不好改,想了几种办法实现起来都不理想,最后将思路转向用ajax来实现问题才迎刃而解,现在仔细一想,像这种情况似乎只有用ajax才能比较好的解决,如果是

  • Docker容器网络端口配置过程详解

    暴露网络端口 实际上,Docker中涉及暴露网络端口的参数有两个,分别是-p和-P.下面分别来介绍. -P 使用-P,Docker会在宿主机上随机为应用分配一个未被使用的端口,并将其映射到容器开放的端口,以Nginx 为例,如下: 可以看到,Docker为应用分配了一个随机端口32768,使用该端口即可访问容器中的 nginx(http://lcalhost:32768). -p -p参数则有几种不同的用法: hostPort:containerPort 这种用法是将宿主机端口和容器端口绑定起来

  • 完美解决liunx下dns配置重启失效的问题

    有时候能ping同ip地址,却ping不通域名,这就是dns没有配置的缘故. 但是DNS配置文件 /etc/resolv.conf 每次重启就会失效. 打开这个配置文件,发现有注释提示: Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)# DO NOT EDIT THIS FILE BY HAND - YOUR CHANGES WILL BE OVERWRITTEN 原来系统已经提示我们不要手

随机推荐