首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

为什么我在docker里得到了404

在Docker中遇到404错误通常是由于以下几个原因导致的:

  1. 容器内部服务未启动或配置错误:404错误表示请求的资源未找到,可能是容器内部的服务未正确启动或者配置错误导致无法找到对应的资源。可以通过检查容器内部服务的日志或者重新配置服务来解决该问题。
  2. 网络配置错误:Docker容器的网络配置可能会导致404错误。例如,容器的端口映射配置不正确,导致无法通过主机的特定端口访问容器内的服务。可以检查容器的网络配置,确保端口映射正确。
  3. 容器内部服务的路径配置错误:如果容器内的服务有特定的路径要求,例如RESTful API的路径,可能会导致404错误。需要检查容器内部服务的路径配置,确保请求的路径与服务的配置相匹配。
  4. 容器镜像缺少所需资源:有时候,容器镜像可能缺少所需的资源文件或依赖项,导致404错误。可以检查容器镜像的内容,确保所需的资源文件或依赖项已正确添加到容器中。
  5. 容器外部网络访问限制:有些情况下,容器所在的主机或网络可能存在访问限制,导致无法从外部网络访问容器内的服务。可以检查主机或网络的防火墙设置,确保容器的访问权限正确配置。

总结起来,当在Docker中遇到404错误时,需要检查容器内部服务的启动配置、网络配置、路径配置以及容器镜像的内容,同时确保主机或网络没有访问限制。根据具体情况进行排查和调整,以解决404错误。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

为什么我在公司里访问不了家里的电脑?

上篇文章「为什么我们家里的IP都是192.168开头的?」提到,因为IPv4地址有限,最大42亿个。...ping基于ICMP协议,而ICMP协议报文里并不带端口信息。我依然可以正常的ping通公网机器并收到回包。 ping报头 事实上针对ICMP协议,NAT路由器做了特殊处理。...为什么我在公司里访问不了家里的电脑? 那是因为家里的电脑在局域网内,局域网和广域网之间有个NAT路由器。由于NAT路由器的存在,外网服务无法主动连通局域网内的电脑。...我家机子是在我们小区的局域网里,班花家的机子也是在她们小区的局域网里。都在局域网里,且NAT只能从内网连到外网,那我电脑上登录的QQ是怎么和班花电脑里的QQ连上的呢?...一波操作下来,就可以在公司的网络里访问家里的电脑。 最后留个问题,有了NAT之后,原本并不富裕的IPv4地址突然就变得非常够用了。 那我们为什么还需要IPv6?

2.1K10

我掌握的新兴技术:用 k8s+Ingress+Traefik 搭建一个外网可以访问的 Web 服务

在微服务下,可以方便的将各个服务间的请求划分开,代码里也不用写死这个 service 的地址了,用域名就好了。...为啥就记录这些 200 的,404 你就不记录了!!(内心在咆哮!)无奈之下,我把 url 换成 ip 的那种,再多次尝试下,我发现了一个疑点!可以看到这里 404 的 nginx 是有版本号的!...于是,我脑瓜子一转,不会是 traefik 中用到了 nginx 了吧,我得翻翻它的源码去(佩服自己的脑瓜子,此时此刻我还以为这个 traefik 就是个组装怪,底层用了 nginx,然后加了些 dashboard...把有关 404 的问题都仔细看了一遍又一遍,差点就在 GitHub 上提 issue 了(要不是步骤有点麻烦)终于,在刚刚吃根冰棍降降火后,我想到了 ingress好家伙,这里也是用到了 nginx 的...这其实涉及到 四层代理和七层代理 的问题,Service 只能代理到 4 层,而这个在我们日常开发中,往往会不够用了,毕竟我们经常得去到应用层 http Service 通过标签去匹配要 Pod关于

90430
  • 【Docker】宝塔创建Docker容器配置nginx

    前言本篇是我入门docker的第一篇,由于docker具有很好的移植性,易于安装,开箱即用;签约的公司项目开发需要我进行学习,否则money减半,5555~百度找了一圈,只有关于docker怎么装宝塔服务器的却没有一篇宝塔中的...docker装环境的,没办法只能自己探索了,有人会问为什么不使用Windows上的docker,我的电脑是win11,尝试装了装不上,于是使用服务器上的docker创建容器点击【创建容器】拉取【nginx1.18...】容器命名为【test】端口映射【3000->80】1、拉取nginx是因为部署的项目时web环境,不清楚自己了解,除了nginx常用的还有apache2、端口为什么需要映射,我的服务器已经占用了80端口...,我通过防火墙规则开放一个端口例如:3000 访问它时让它指向docker容器的80端口启动这张图是我盗过来的,访问你的ip:3000打开如图说明docker部署nginx环境成功部署h5项目将项目移动至...www/wwwroot里(注意:这里的目录是docker的目录,不是宝塔的,不知道docker目录可通过对容器操作跳转到目录路径)修改nginx配置路径:/var/lib/docker/********

    51010

    Docker

    ---- 学习过程中不免要搭建环境,如果一步混了就要各种找错,而且搭环境这种体力活实在不想过多重复,最近看到了Docker技术终于可以卸下这重复劳动了 1....Dokcer把原始的环境一模一样地复制过来,那么就消除了协作编码时,我的机器能运行,而其他机器不能运行的困境 2....启动容器 以前我们要运行Tomcat:得先安装并设置jdk环境,以及安装tomcat,期间需要用到weget、tar等命令 现在使用了Docker:只需几个命令即可 下面以tomcat为例,体验docker...容器里的执行命令的结果 docker exec -it id /bin/bash 在外面获取容器交互终端,exit后不会停止容器运行 docker cp 拷贝容器文件到宿主机 docker logs...docker top 查看容器里运行的进程 docker container prune 删除所有容器 docker rmi $(docker images -q) 删除所有镜像 docker

    1.1K10

    docker 常用命令大全

    镜像 至于版本号呢 可以在docker hub中查看 docker官方镜像搜索 例如 拉取 mysql 5.7.30 ——————这里出现了一些小东西 感觉挺新奇的 随着学习深入再回过头来看吧 为什么提示文件存在....查看已运行容器 docker ps 发现看到了 redis 使用了6379 端口 那么我们在关闭防火墙或开启了安全组的情况下 是否可以进行访问呢?...redis001 /bin/bash 可以看到 我已经从主机alibyleilei 跳到了容器ID 对应下的 /data 已经是进入到容器内部了 进入容器方式二 —推荐使用 exec 方式 docker...我把容器删了再启动,我数据咋办??? 哎!小伙汁,这个时候不要慌,我告诉你两个办法! 方法一:担心数据丢了,这说明你在跑容器的时候没有进行数据挂载吧??? 你问我,什么是数据挂载?...那还不是得删容器?是呀!没错!那么为什么你有数据恢复需求而没有想到数据持久化,数据恢复备份,数据卷挂载?自己DEMO的吃亏,是为了平时开发少扣脑壳多摸鱼!

    56340

    docker学习系列2 保存对容器的修改

    但遇到了新的问题: 容器内安装的服务器是nginx,nginx对 PHPINFO 支持不好,对于ThiankPHP项目,简单的说在apache服务器下运行 http://localhost:8088.../home/Index/index 能正常返回结果,而nginx返回404,必须要写成 http://localhost:8088/index.php?...由于容器本身是无状态的我修改完配置文件,关闭docker,下次在启动后还是原样,我需要保存修改。...下面是解决方法: 容器为了精简没有按照VIM,编辑文件不方便,要先安装 apt-get update; apt-get install vim 如果执行 apt-get update 超时了,得访问外国网站...finleyma/php-dev:tp3.2 问题: 这个项目的环境是有了,但是是多人开发,我如何将我的配好的镜像分享给他人呢?

    5.6K10

    干货 | Docker常用命令总结

    #3.查看已运行容器 docker ps 发现看到了 redis 使用了6379 端口 那么我们在关闭防火墙或开启了安全组的情况下 是否可以进行访问呢?...赶紧使用 redis desktop manger 连接测试一下 为什么不行呢 已经确定了 docker 中 redis 容器已经是在运行中 且占有端口 6379啊?...it redis001 /bin/bash 可以看到 我已经从主机alibyleilei 跳到了容器ID 对应下的 /data 已经是进入到容器内部了 进入容器方式二 —推荐使用 exec 方式 docker...我把容器删了再启动,我数据咋办??? 哎!小伙汁,这个时候不要慌,我告诉你两个办法! 方法一:担心数据丢了,这说明你在跑容器的时候没有进行数据挂载吧??? 你问我,什么是数据挂载?...那还不是得删容器?是呀!没错!那么为什么你有数据恢复需求而没有想到数据持久化,数据恢复备份,数据卷挂载?自己DEMO的吃亏,是为了平时开发少扣脑壳多摸鱼!

    74420

    搭建和部署GitLab代码托管平台,自己的CICD堡垒

    为什么是GitLab前文就已经说到了,使用GitLab,可以提供强大的CI/CD,甚至功能可以匹配Jenkins,后期的配置还可以联动K8S。...图片为什么选择Docker为什么选择使用Docker部署呢? 其实我是很想使用软件包管理器(apt)部署的,并直接用自己的Nginx接管GitLab自带的Nginx。...我自己又不会ruby的语法,在尝试gem一个一个安装、root提权安装等方法都无济于事,所以选择了Docker部署。图片回到正题,问什么选择Docker部署呢?很简单: 部署简单、环境隔离、易于迁移。...:# 设置更目录(方便操作,你也可以放到环境变量里)export GITLAB_HOME=/dockerData/gitlab图片sudo docker run --detach \ --hostname...规则 #error_page 404/404.html; #HTTP_TO_HTTPS_START if ($server_port !

    5.2K41

    腾讯 tRPC-Go 教学——(4)tRPC 组件生态和使用

    之前我花了三篇文章来介绍 tRPC 怎么用。而 tRPC 给开发者带来的便利, 在整整三篇文章中,我也只是介绍了它可以方便服务在 HTTP、trpc、grpc 三种协议之间灵活切换。...从学习的角度,我用的是 Mac 进行开发,Docker 用来开发调试,我的 MySQL 也是部署在 Mac Docker 下,3306 端口,用户名 root,密码 123456,数据库名称 db_test...可以看到 DB 的地址是: host.docker.internal,因为我的服务运行在 Docker 容器中,得使用 host.docker.internal 才可以访问主机的端口。...username=amc' 可以获得返回: {"err_code":404,"err_msg":"用户不存在","data":null} 这就说明逻辑通过,这个 404 是我在 代码中 写的当查询不到用户名的返回信息...这个时候我们再执行一下 curl 命令,则可以得到返回: {"err_code":404,"err_msg":"密码错误","data":null} 哎,用户找到了,但是密码错误。

    1.6K71

    Milvus 的十大使用误区,你“踩”中了几个?

    在今年年初的时候才刚发布了 Milvus2.0GA 版本,到了年末,Milvus 已经发布到了 2.2.2 版本。...在社区里我经常被问到的一个问题是:“Milvus 什么时候可以支持 GPU?”这时候我一般会顺势问一句:“你们为什么需要使用 GPU 呢?”得到的答案经常是“使用 GPU 肯定比 CPU 算得快!”...“为什么我删了向量之后,集合的向量条数还是没变化?num_entities() 的结果怎么不准?” 要解答这个问题,就需要给大家介绍一下 Milvus 里面的删除原理。...主要有这几点原因:一是 docker-compose 不能方便地扩缩容节点,当数据量增加时对集群扩容是一件麻烦的事情;二是 docker-compose 虽然能把 Milvus 里的各个组件都启动起来,...最后,在即将到来的新的一年里,祝愿 Milvus 社区发展得越来越好,希望有越来越多的朋友在工作中把 Milvus 用起来!

    3.1K10

    dcoker安装nginx 并将数据挂载到本地

    注:默认在root用户下操作 一、下载镜像(不指定版本号默认下载最新版本,指定版本可参考百度) docker pull nginx 查看本地的镜像 docker images 二、给要挂载的数据在本地创建相应的文件夹...etc/nginx/conf.d \ -v /home/tool/nginx/logs:/var/log/nginx nginx 六、浏览器输入ip进行访问(若是80端口则url只写ip即可) 访问发现404...,这是因为将html挂载到了本地,而本地只是创建了个文件夹。...的index路径 其中:root选项 /usr/share/nginx/html 是已经挂载到了本地,无需修改。...至于在index选项中,为什么不将h5配置到root选择中,我这边是因为页面访问css与js等资源路径的问题。实际使用中可以按需配置。

    98030

    .NET Core 3.0】框架之十三 || 部署攻略

    p=9 一、部署 1、WIN_独立部署 感谢群里(白云)小伙伴,博主 @小淋科技 提出的方案(需要 netcore2.1+ ),我竟然忽略了,该打该打,官档都读不仔细,果然三人行必有我师!...然后就是发布程序了,发布有两种办法: 在开发机上执行 dotnet publish 然后把发布的文件远程到服务器上 直接在服务器上使用源码构建并发布,我一般是这样做的。...随后需要再把发布后的程序运行一下:dotnet test.dll: 在我使用网址访问80端口的时候,会自动跳转到 https//localhost:5001端口,导致连接失败: 可以在开发的时候,就直接去掉项目中使用...4、错误码 —— 500.30 解析:进程内失败,这个我没有遇到,有群里小伙伴说的。...IIS 中的同一个站点配置前后端两个项目; 3、如果是 nginx+kestrel 的话,记得在 nginx 中配置跨域代理; 4、其他方案,略; 2、页面刷新 404 为了这个错误,我上边的第一个动图

    4.6K30

    Docker将nginx容器和php容器关联起来

    概念教程和介绍有一大堆,我就不多说了。主要记录一下操作,方便你我查阅。 首先是在菜鸟教程里看的教程,里面把各种镜像、容器的概念和基本操作都说了。但是每一步都直到怎么测试运行起来。...(按着菜鸟教程走下来的时候pull的) 于是请教前辈,是按方法①去操作还是php,nginx各开一个容器再去连接方法②,得到了方法②的回复,于是开始了漫长的道路。 单容器易于分发、维护。...也就是让容器可以共享这个目录里的文件。.../ 404.html; location~[ ^ /].php(/ | $) { try_files $uri = 404; fastcgi_pass php1...default (因为在nginx里设置的默认目录,可以自己修改) 然后新建test.php 写入php代码测试运行。

    3.1K20

    为什么CoreOS和Docker的分手是命中注定的

    "韦恩·格雷茨基曾说过:“我总是溜向冰球将达到的点,而不是追逐它曾在的地方。”...现在又到了整合资源的商家通过填补整合资源的空白来获取利润的时代了。 在台式机的领域里,处理器和操作系统一开始不那么令人满意,因此价值转移至此并不断被持续改善。但存储器和驱动器就不那么幸运。...当他们发展得足够好并且能够进行模块化操作的时候,利润早已经被生产DRAM的厂家瓜分大半。 在云服务领域,截至2013年云服务商提供的虚拟机服务已经足够完善而且成功商品化。...Docker不能商品化的部分是数据中心,我们稍后会解释为什么特别强调这一点。...直到现在我还是理解不能。 那最后留给Docker的是什么呢?从一开始他提供了一个模块化的组件供其他应用使用。

    88570

    利用DockerHub在Centos7.7环境下部署Nginx反向代理Gunicorn+Flask独立架构

    上一篇文章:Docker在手,天下我有,在Win10系统下利用Docker部署Gunicorn+Flask打造独立镜像,是在Win10简单玩了一下Docker的镜像打包,属实玩票,娱乐属性较高。...要是想真刀真枪的在生产环境部署还得是Centos     本次使用Nginx反向代理Flask服务,为什么要加一层Nginx呢?...docker tag myflask zcxey2911/myflask     之后在命令行输入命令 docker login     用DockerHub的账号和密码登录     登录成功之后,...使用服务器的ip访问一下Flask服务,这里有个小坑,不论是腾讯云、阿里云还是百度云亦或是各种乱七八糟的云,都需要在安全组策略中开放你需要访问的端口,比如这里我用的5000。    ...我们将运行Nginx容器里的配置文件copy到宿主机里面     前面是容器的路径 后面是宿主机的路径 docker cp 容器id:/etc/nginx/conf.d/default.conf /root

    53950

    使用 Nginx 容器为 Traefik 配置高性能通用错误页面

    使用 Nginx 容器为 Traefik 配置高性能通用错误页面 使用 Traefik 比较久的读者应该会发现,在服务重启的时候,原来的网站会展示 404 not found 的空白页面,虽然多数情况下服务恢复很快...使用官方 Nginx 镜像进行定制 我们知道 Nginx 在 1.18 之后提供了一个特殊功能,允许用户自定义及额外的扩展 docker-entrypoint.d 脚本,以及支持使用基于 envsubst...我使用的错误页面模版 想要查看在线例子,可以访问:https://error.soulteary.com/,例子模版编写参考了 https://www.mantralabsglobal.com/404...--EOF ---- 我现在有一个小小的折腾群,里面聚集了一些喜欢折腾的小伙伴。...在不发广告的情况下,我们在里面会一起聊聊软件、HomeLab、编程上的一些问题,也会在群里不定期的分享一些技术沙龙的资料。 喜欢折腾的小伙伴欢迎扫码添加好友。

    1.2K20

    搭建一个你的文件共享站

    在很久之前我使用过用apache httpd这个方案,这个的话就是太过于简单了。当然是满足需求的(又不是不能用) 今天来分享一个开源的文件共享平台。...可以设置分享密码 支持右键发送共享链接 支持反病毒检查 接下来我们开始搭建把,本次采用docker-compose的方式来搭建,所以提前安装好docker-compose 新建一个目录,然后在这个目录里...复制以下内容到该文件里 version: '3.8' services: pingvin-share: image: stonith404/pingvin-share restart: unless-stopped...然后在我的共享页面可以看到具体的过期时间和链接等详情。 如果你真的打算要建立一个文件共享站,那最好还是开启HTTPS以及反向代理。 今天的分享就到此结束了。...如果您觉得这篇文章对你有帮助,不妨给我点个赞,这将是我继续分享优质内容的动力。

    48220
    领券