docker启动后无法访问的解决办法:1、执行“docker run -itd -p”命令;2、输入“docker ps -a”查看“ports”;3、检查linux版本和docker版本;4、输入“yum update”命令行升级内核;5、重启内核即可。
本教程操作环境:Windows7系统、Docker 20.10.11版、Dell G3电脑。
docker启动后无法访问怎么办?
Docker容器启动成功浏览器却无法访问(Docker容器启动后查看docker ps -a 看不到ports(ports栏为空)| linux内核版本和docker版本不兼容)
场景:Docker容器启动成功浏览器却无法访问
初学Docker容器的基本操作,拉取了tomcat镜像,输入运行容器命令运行容器一系列操作都没有问题,但是在浏览器访问端口时却访问不到
[root@localhost ~]# docker run -d -p 8081:8080 --name mytomcat b8dfe9ade316
1、Docker容器启动后查看docker ps -a 看不到ports(ports栏为空)
各种命令行试探,终于在输入了显示所有的容器信息命令,发现ports那一行是空的!!!
[root@localhost ~]# docker ps -a
然后我不知道要找什么关键词来形容这种情况,尝试了各种方法,比如说卸载重装旧版本的tomcat、关闭防火墙,还有设置防火墙放行或限制指定IP和端口(firewall)都不行,甚至还格式化输出显示指定列还是看不到ports,几经周转最后终于找到了Jacen_Chou博主的方法尝试了一下,成功了!!!谢谢Jacen_Chou博主的帮助,我的心情就像博主最后说的那句话一样,看到成功的那一刻,激动得差点哭了呜呜呜
博主说只要在-d前面加上it即可,我也终于知道了原来这种情况叫Docker端口映射不起作用
[root@localhost ~]# docker run -itd -p 8081:8080 --name mytomcat b8dfe9ade316
再输入docker ps -a,终于看到了ports这一行出现了内容
2、linux内核版本和docker版本不兼容
我以为问题已经解决了,按道理来说没问题了,兴高采烈的叒打开浏览器,还是不可以5555,又继续找原因,回归到最原始的关键词,docker容器启动成功却无法访问,在一顿查找后看到清人博主说可能是linux系统内核低,而docker版本是最新版所以不兼容。
我赶紧查看了自己的linux版本和docker版本,结果真的是这样,我的docker是 20.10.11版本,而linux只有3.8,好家伙搞了半天原来是版本不兼容的问题,赶紧输入yum update命令行升级内核
#查看linux内核版本 [root@localhost ~]# uname -sr #查看docker版本 [root@localhost ~]# docker version #升级linux内核版本,升级所有包同时也升级软件和系统内核 [root@localhost ~]# yum update -y
漫长的升级等待,建议大家去搜一下怎么升级大版本的linux内核版本,因为yum update只适合小版本升级,升级大版本步骤挺多的我就懒得试了。
最后别忘了升级完之后重启centos,重启容器
最后的最后,终于看到了我那该死的汤姆猫~~
解决方案:
查看Docker端口映射是否成功,还有linux内核版本和docker版本是否兼容,如果不兼容有两种方法,要么降低docker版本(卸载高版本重装)要么升级linux内核版本,升级完别忘了重启宿主机。
完结撒花~~~
推荐学习:《docker视频教程》
以上是docker启动后无法访问怎么办的详细内容。更多信息请关注PHP中文网其他相关文章!

使用Docker的原因是它提供高效、便携且一致的环境来打包、分发和运行应用程序。1)Docker是一种容器化平台,允许开发者将应用程序及其依赖项打包到轻量级、可移植的容器中。2)它基于Linux容器技术和联合文件系统,确保快速启动和高效运行。3)Docker支持多阶段构建,优化镜像大小和部署速度。4)使用Docker可以简化开发和部署流程,提高效率并确保跨环境的一致性。

Docker在实际项目中的应用场景包括简化部署、管理多容器应用和性能优化。1.Docker简化了应用部署,如使用Dockerfile部署Node.js应用。2.DockerCompose管理多容器应用,如微服务架构中的Web和数据库服务。3.性能优化使用多阶段构建减小镜像大小,并通过健康检查监控容器状态。

在小型项目或开发环境中选择Docker,在大型项目或生产环境中选择Kubernetes。1.Docker适合快速迭代和测试,2.Kubernetes提供强大的容器编排能力,适合管理和扩展大型应用。

Docker在Linux上重要,因为Linux是其原生平台,提供了丰富的工具和社区支持。1.安装Docker:使用sudoapt-getupdate和sudoapt-getinstalldocker-cedocker-ce-clicontainerd.io。2.创建和管理容器:使用dockerrun命令,如dockerrun-d--namemynginx-p80:80nginx。3.编写Dockerfile:优化镜像大小,使用多阶段构建。4.优化和调试:使用dockerlogs和dockerex

Docker是容器化工具,Kubernetes是容器编排工具。1.Docker打包应用及其依赖成容器,可在任何支持Docker的环境中运行。2.Kubernetes管理这些容器,实现自动化部署、扩展和管理,使应用高效运行。

Docker的目的是简化应用部署,通过容器化技术确保应用在不同环境中一致运行。1)Docker通过将应用和依赖打包到容器中,解决了环境差异问题。2)使用Dockerfile创建镜像,确保应用在任何地方一致运行。3)Docker的工作原理基于镜像和容器,利用Linux内核的命名空间和控制组实现隔离和资源管理。4)基本用法包括从DockerHub拉取并运行镜像,高级用法涉及使用DockerCompose管理多容器应用。5)常见错误如镜像构建失败和容器无法启动,可通过日志和网络配置调试。6)性能优化建

在Ubuntu、CentOS和Debian上安装和使用Docker的方法各有不同。1)Ubuntu:使用apt包管理器,命令为sudoapt-getupdate&&sudoapt-getinstalldocker.io。2)CentOS:使用yum包管理器,需添加Docker仓库,命令为sudoyuminstall-yyum-utils&&sudoyum-config-manager--add-repohttps://download.docker.com/lin

在Linux上使用Docker可以提高开发效率和简化应用部署。1)拉取Ubuntu镜像:dockerpullubuntu。2)运行Ubuntu容器:dockerrun-itubuntu/bin/bash。3)创建包含nginx的Dockerfile:FROMubuntu;RUNapt-getupdate&&apt-getinstall-ynginx;EXPOSE80。4)构建镜像:dockerbuild-tmy-nginx.。5)运行容器:dockerrun-d-p8080:80


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

SecLists
SecLists是最终安全测试人员的伙伴。它是一个包含各种类型列表的集合,这些列表在安全评估过程中经常使用,都在一个地方。SecLists通过方便地提供安全测试人员可能需要的所有列表,帮助提高安全测试的效率和生产力。列表类型包括用户名、密码、URL、模糊测试有效载荷、敏感数据模式、Web shell等等。测试人员只需将此存储库拉到新的测试机上,他就可以访问到所需的每种类型的列表。

SublimeText3 Linux新版
SublimeText3 Linux最新版

DVWA
Damn Vulnerable Web App (DVWA) 是一个PHP/MySQL的Web应用程序,非常容易受到攻击。它的主要目标是成为安全专业人员在合法环境中测试自己的技能和工具的辅助工具,帮助Web开发人员更好地理解保护Web应用程序的过程,并帮助教师/学生在课堂环境中教授/学习Web应用程序安全。DVWA的目标是通过简单直接的界面练习一些最常见的Web漏洞,难度各不相同。请注意,该软件中

ZendStudio 13.5.1 Mac
功能强大的PHP集成开发环境

安全考试浏览器
Safe Exam Browser是一个安全的浏览器环境,用于安全地进行在线考试。该软件将任何计算机变成一个安全的工作站。它控制对任何实用工具的访问,并防止学生使用未经授权的资源。