docker启动容器服务后访问失败的解决方案

目录
  • 第一种原因及修改方法
  • 第二种:容器启动没有问题,并且在容器内部可以进行容器访问,但是外部无法进行访问
  • 总结

关于docker启动容器服务之后,宿主机访问失败(解决方法)

注:在进行docker容器启动宿主机进行容器访问时,无需进行网络的配置,docker容器在启动时会自动解决

第一种原因及修改方法

在进行启动的时候,启动语句中没有进行端口映射,导致在进行访问的时候无法找到正确的端口

正确的镜像的启动方式为

docker run --name 设置容器名 -it -d -p [宿主机端口号]:[容器启动端口号] 要启动的镜像
#-d 作用在镜像启动之后不进入容器内部,使容器在后台运行
#-i 交互式操作
#-t 终端
#/bin/bash 为了希望存在一个交互式的shell (可以不写)

正常容器启动后的截图

进行访问:访问成功

第二种:容器启动没有问题,并且在容器内部可以进行容器访问,但是外部无法进行访问

咋查看自己centos的版本与docker的版本是否兼容,建议采用linux对linux内核版本进行升级。

docker容器启动没有问题

进入容器内部,查看容器内部是否可以正常访问

#进入容器内部
docker exec -it [容器id/容器名称] /bin/bash
#进入之后通过命令查看是否可以访问成功
curl http://localhost:容器端口号

进入容器

进行命令测试,访问成功,可进行页面代码的读取

#查看centos的版本信息
cat /etc/redhat-release
CentOS Linux release 7.6.1810 (Core)

#查看linux内核版本
[root@localhost ~]# uname -sr

#查看docker版本
[root@localhost ~]# docker version

#升级linux内核版本,升级所有包同时也升级软件和系统内核
[root@localhost ~]# yum update -y

注:yum update -y只能对linux系统进行小版本的升级,如需大版本升级,自行查找大版本的升级命令与方法

升级完成后,访问成功

update -y只能对linux系统进行小版本的升级,如需大版本升级,自行查找大版本的升级命令与方法
升级完成后,访问成功

总结

到此这篇关于docker启动容器服务后访问失败的解决方案的文章就介绍到这了,更多相关docker启动容器服务后访问失败内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • docker容器启动失败如何查看日志

    目录 docker容器启动失败查看日志 这个时候如何排查问题呢? 发现有更简单的命令 日志查看 docker容器启动失败原因 1.查看异常容器id 2.查看日志所在路径 3.打开错误日志,查看详情 总结 docker容器启动失败查看日志 在使用docker的时候,在某些未知的情况下可能启动了容器,但是过了没几秒容器自动退出了. 这个时候如何排查问题呢? 通常碰到这种情况无非就是环境有问题或者应用有问题,应用问题再本地可以进行调试解决,但是环境问题就比较头疼了. 这个时候我们就需要查看容器的日志来

  • Docker启动常用容器命令及配置详解

    目录 Docker 容器相关命令 Docker 启动mysql Docker 启动nginx Docker 启动redis Docker 启动rabbitmq Docker 启动Kafka Docker 启动tomcat Docker 启动jar包 Docker 启动PostgreSQL Docker 启动ElasticSearch Docker 容器相关命令 容器是基于Docker镜像被创建的. docker run [Options] image运行容器 docker run [Option

  • docker容器因报错无法启动问题的检查及修复容器错误并重启

    目录 问题复现 解决方法 总结 问题复现 使用: sudo docker ps -a 查看当前的docker容器: 我们想启动name为[docker-mongo]的这个容器,因此要执行 sudo docker start docker-mongo 但是执行后仍旧没有重启,大概率是重启的时候报错了,查看日志: sudo docker logs -f docker-mongo 可以看到其中有这样的日志: {"t":{"$date":"2022-12-29T0

  • Docker启动mysql服务的实现步骤

    1:确保自己的服务器已经安装好了docker 输入 docker info 或者docker version 2:然后我们去docker hub去下载自己的想要的mysql镜像 找到offic的版本,点击进入 3:经命令放入linux中执行. [root@iZ2zehajf73atd9gbz1qdbZ redisconf]# docker pull mysql:5.6 4:然后检测自己是否下载成功:docker images 5:docker run --name some-mysql -d -

  • MySQL在Windows中net start mysql 启动MySQL服务报错 发生系统错误解决方案

    目录 1-错误详情 2-单次解决方法 2.1-目录 C:\Windows\System32 -> 找到 cmd.exe 2.2-右击属性 -> 以管理员身份运行 2.3-运行成功 3-永久解决方法 3.1-在 2.2 中:右击属性 -> 发送到(N) -> 桌面快捷方式 3.2-右击属性 -> 快捷方式 -> 高级 -> 以管理员身份运行 -> 确定 3.3-运行成功: 4-备注 4.1-Windows 服务名不区分大小写 4.2-两条语句含义 1-错误详情

  • Docker容器服务编排利器详解

    目录 一.使用Docker Compose必要性及定义 二.Docker Compose应用参考资料 三.Docker Compose应用最佳实践步骤 3.1 概念 3.2 步骤 四.Docker Compose安装 五.Docker Compose应用案例 5.1 网站文件准备 5.2 Dockerfile文件准备 5.3 Compose文件准备 5.4 使用docker-compose up启动容器 5.5 访问 一.使用Docker Compose必要性及定义 用容器运行一个服务,需要使用

  • docker 启动elasticsearch镜像,挂载目录后报错的解决

    从docker hub下载了一个es的镜像,版本为6.4.2,详细信息如下: 比较重要的就是这两条,第一个是工作目录,挂载目录也需要和这里对应:第二个是启动命令,这里是指定了一个预先写好的启动脚本.所以我启动了一个空容器去查看了下容器内的情况: 容器内部目录结构如上图,data是用来存放数据,logs用来存放日志. 接着查看下启动脚本 /usr/local/bin/docker-entrypoint.sh 前半部分我也是看的一知半解,不过真正和挂载目录相关的是最后这部分,这里处理了挂载目录后的操

  • Docker搭建简单的应用栈与容器Hello World访问详解

    本文实例讲述了Docker搭建简单的应用栈与容器Hello World访问.分享给大家供大家参考,具体如下: 这里参考<Docker容器和容器云> 2.3.2章节应用栈搭建过程,对原书中出现的问题 -镜像不断的更新导致- 做了修改,特此说明. 系统环境 操作系统版本 $ cat /etc/issue Debian GNU/Linux 8 \n \l 内核版本 $ uname -r 3.16.0-4-amd64 Docker版本 docker version Client: Version: 1

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

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

  • Docker consul的容器服务更新与发现的问题小结

    目录 一.Docker consul的容器服务更新与发现 1.什么是服务注册与发现 2.什么是consul? 3.consul提供的一些关键特性 二.Consul部署 第一步:consul服务器上操作如下 1.建立 consul 服务 2.设置代理,后台启动 consul 服务器 第二步:registrator部署 192.168.80.20 上操作如下: 4.容器服务自动加入Nginx集群 5.安装Nginx.httpd测试镜像 6.在consul服务器中查看镜像是否注册 7.在web浏览器中

  • docker中mysql初始化及启动失败问题解决方案

    最近做项目,遇到这样问题,docker 中的mysql 不能启动,经过上网查资料,终于解决了这个问题,这里记录下,也许还能帮助到大家, 在docker中有一个mysql服务,其数据文件是挂在在主机外面的文件,在docker中的root有访问该数据文件的权限,但是docker中mysql访问数据文件的时候提示权限不足,于是只有以root用户来启动mysql了. 数据初始化: mysql_install_db --user=root --explicit_defaults_for_timestamp

  • Docker 无法停止或删除容器服务问题的解决方案

    前言 今天有开发同学给我反馈说有一个容器服务无法 stop.rm(docker rm -f)和 kill 等操作,也就是说这个容器服务无法终止- 操作步骤 (1)执行删除命令无法删除docker的目录: # ll /var/lib/docker/containers | grep caf8ef20f3c1 # cd /var/lib/docker/containers # rm -rf caf8ef20f3c1c78f03a5844ee23abc1d7e44246f242292040f1ef28

  • Docker 创建容器后再修改 hostname的详细过程

    世上是有后悔药的,只要肯琢磨!再也不用重新创建容器了! 我有一个叫m2的容器,现在想要修改它的 hostname 1.查看容器配置文件在宿主机上的位置,这里看到是 /var/lib/docker/containers/67e012c02434168aff3762ab4edf7550f0bfe1db57b396ce78660f140dd3056e 2.关闭容器.关闭 docker 服务 前提条件,非常重要!!!前提条件,非常重要!!!前提条件,非常重要!!! 3.进入该容器所在配置文件所在宿主机文

随机推荐