首页
学习
活动
专区
工具
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?

2K10

掌握的新兴技术:用 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关于

56930

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的吃亏,是为了平时开发少扣脑壳多摸鱼!

52740

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.5K10

干货 | Docker常用命令总结

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

67920

搭建和部署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 !

2.6K31

腾讯 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} 哎,用户找到了,但是密码错误。

1K71

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

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

2.6K10

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等资源路径的问题。实际使用中可以按需配置。

93530

.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.4K30

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

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

85670

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

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

3K20

利用DockerHubCentos7.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

49850

使用 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.1K20

搭建一个你的文件共享站

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

30120

解决Docker端口映射无法访问问题

宿主机 curl 对应的端口,处于阻塞状态,无响应 curl 127.0.0.1:8080 2....镜像内 curl 原端口正常,curl 百度失败 curl 127.0.0.1:80 curl www.baidu.com 这里也得到了一个信息是不能访问外网,以为是服务问题,又创建了一个新的测试容器结果还是一样.../net/ipv4/ip_forward 重启 docker 服务之后还是不能访问,无解了 大佬让提交工单问一下镜像后 docker 是不是重装才能正常使用,结果提交了一个工单,腾讯云的回复过于沙雕...sh get-docker.sh --mirror AzureChinaCloud 重新构建镜像和容器,结果还是不可以,打算放弃了突然翻到了一篇知乎文章 阿里云 ECS 的 Docker 为什么无法端口映射...突然想到我的机器好像确实是一样的,跑去查看一下 ,确实是一样的,新开的机器是上海三区的,和之前的机器不是一个区域 修改 /etc/docker/daemon.json,加入一行 "bip": "192.168.1.5

39.7K110
领券