docker端口映射无法访问的解决
表现
- systemctl status docker,显示正常,可以pull,push,build
- 宿主机访问外网没问题,可以连上ubuntu的阿里的源
- 运行容器映射的端口在本机无法访问,用curl 127.0.0.1:端口,显示:
curl: (56) Recv failure: Connection reset by peer
- docker build的时候,使用apt-get install xx,无法访问,哪怕镜像源是国内的阿里之类的.
在改为 docker build --network host后又可以了
原因:
docker的网桥出问题了,导致映射端口无效,docker run -d -p 8080:80, 非常确定容器内的应用正常启动,curl 127.0.0.1:8080失败
验证问题:
用于验证的镜像
也可以直接下载已经写好的镜像: simple_server,直接验证
用golang编写一个简单的http服务,编译为simple_server
package mainimport ("flag""fmt""net/http" )func indexHandler(w http.ResponseWriter, r *http.Request) {fmt.Fprintf(w, "hello world") }func main() {var port intflag.IntVar(&port, "p", 8080, "端口号,默认为8080")flag.Parse()fmt.Println("监控在端口", port)http.HandleFunc("/", indexHandler)err := http.ListenAndServe(fmt.Sprintf(":%d", port), nil)if err != nil {fmt.Println("错误: ", err)} }
编写Dockerfile
FROM ubuntu RUN echo 'deb http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse \n\ deb-src http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse \n\ deb http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse \n\ deb-src http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse \n\ deb http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse \n\ deb-src http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse \n\ deb http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse \n\ deb-src http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse \n\ deb http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse \n\ deb-src http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse '>/etc/apt/sources.listRUN apt-get update -y RUN apt-get install curl -yCOPY simple_server /home/ CMD ["/home/simple_server", "-p", "80"]
放在同一个目录,并执行:
docker build . --network host -t simple_server
, 目录:[root@ tmp]# tree server server ├── Dockerfile └── simple_server 0 directories, 2 files
运行容器进行验证
- 运行:docker run -d -p 8080:80 simple_server
- 进入容器运行:
curl 127.0.0.1
, 成功打印:hello world
- 在宿主机上运行:
curl 127.0.0.1:8080
, 一直卡住,然后报no route 之类的错误
解决
参考: 通过重建 docker0 网络解决问题
- 下面的这些命令是在ubuntu20上执行的,可以参照你自己的操作系统做出修改
- systemctl stop docker # 停止docker 服务
- pkill docker # 杀掉docker进程
- iptables -t nat -F # 清理iptables
- ip link set docker0 down # 停止docker0网卡
- brctl delbr docker0 # 删除docker0网卡
- systemctl start docker # 启动docker服务
docker端口映射无法访问的解决相关推荐
- Docker端口映射无法访问的问题排查
概述 前些天,老大让升级Docker版本,后面折腾了一番,成功升级到最新版本Docker,Docker容器啥的都跑起来了,以为一切顺利了,结果第二天就发现容器映射到宿主机的端口无法访问.在宿主机用 c ...
- linux docker端口映射无法访问,docker设置了端口映射,不能访问的解决方案
#docker ps 查看, 所有端口都 做了映射 CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 764b158ba491 open-fa ...
- docker端口映射失效解决方法
docker端口映射失效解决方法 参考文章: (1)docker端口映射失效解决方法 (2)https://www.cnblogs.com/erfsfj-dbc/p/11815972.html 备忘一 ...
- docker端口映射或启动容器时报错 driver failed programming external connectivity on endpoint quirky_allen
docker端口映射或启动容器时报错 Error response from daemon: driver failed programming external connectivity on e ...
- docker端口映射或启动容器时报错 driver failed programming external connectivity on endpoint
docker端口映射或启动容器时报错 Error response from daemon: driver failed programming external connectivity on en ...
- docker端口映射或启动容器时报错Error response from daemon: Container is not running
docker端口映射或启动容器时: docker exec -it 7c5a2350c4cb /bin/bash 出现了错误: Error response from daemon: Containe ...
- 服务器端口映射到公网不通解决方法
服务器端口映射到公网不通解决方法 参考文章: (1)服务器端口映射到公网不通解决方法 (2)https://www.cnblogs.com/tiantianhappy/p/11357384.html ...
- dlink中设置端口映射图文讲解(解决电驴tcp链接测试失败问题)
http://hi.baidu.com/wwt06/item/29d5d5246f3a71d50f37f9f6 dlink中设置端口映射图文讲解(解决电驴tcp链接测试失败问题) 今天找一个资源的时候 ...
- docker端口映射,批量删除容器
docker端口映射 http://blog.csdn.net/yjk13703623757/article/details/69212521 批量删除容器 http://blog.csdn.net/ ...
- docker 端口映射 及外部无法访问问题:开启IP转发从而解决
docker容器内提供服务并监听8888端口,要使外部能够访问,需要做端口映射. docker run -it --rm -p 8888:8888 server:v1 此时出现问题,在虚机A上部署后, ...
最新文章
- 卫星互联网行业深度报告:战火早已熊熊燃烧
- git介绍和常用操作
- Whctf 2017 -UNTITLED- Writeup
- slk文件转换器安卓版_MP3提取转换器
- BGP 下一跳的理解和实验
- Android系统里面的服务器和客户端的概念解析
- 文旅展演专业委员会成功换届,为文旅展演导入新活力
- Android 恢复出厂设置(recovery)
- Uncaught TypeError: Cannot read property 'alpha' of undefined 报错解决
- Python——飞机大战源码(含飞机爆炸效果动图)
- 【复】一次流量分析经历
- 扔掉你 Windows 操作系统中的盗版软件吧
- 微信开发者工具:代码更新后页面未刷新
- 如何修改Adobe Acrobat身份信息中的登录名
- [Excel]空白填充上一行数据
- 全志H616——刷机以及初步配置
- jOOQ-将两个表的连接提取到相应的POJO中
- 华大HC32F460的BOOT和IAP说明
- 二、何为Spring Boot整合Spring Cloud?
- 海底捞市值超大多数上市房企,火锅是怎么做到比卖房还赚钱的?