Docker 因为-it命令启动tomcat nginx 出现404的错误

Docker 因为-it命令启动tomcat nginx 出现404的错误

之前在使用docker启动centos时,一般我都会使用-it 加上 /bin/bash 参数。但是因为惯性思维,在启动tomcat、nginx之类的服务器时,也加上了/bin/bash导致了启动无效的问题


在这里插入图片描述

我们可以看到,运行该启动命令后使用ps可以正常显示nginx的启动信息,但是当我们访问 http://localhost 时是无法正常访问的

这是因为上面的启动命令可以让我们启动nginx的同时进入nginx容器并开启一个新的终端,但是这会导致原先用于启动nginx的终端死掉,也就导致了无法正常启动nginx的情况
所以解决方案就是在启动nginx或者tomcat这类启动时需要单独开启一个终端的镜像时不要使用 /bin/bash 参数!也就是使用 -d(后台启动容器,不进入容器)
docker run -d -p 80:80 nginx

那么我们如果想启动成功后进入容器修改配置文件之类的操作怎么办?这里可以使用exec 或者attrach命令在启动成功nginx后再次进入容器,这样就不会导致新开的终端与启动终端冲突的问题
docker exec [containerId] /bin/bash

这样的话我们就可以正常访问啦!

启动容器时实时查看控制台输出

这里如果我们想像webstrom或者idea一样,在启动时实时查看控制台输出怎么办呢?
这里提供两种方式:

  • 第一种:使用/it启动

我们在启动tomcat、nginx之类的服务器时可以使用-it参数启动容器,这样就可以进入启动服务器的终端并实时的查看日志输出 注意千万不要再加上/bin/bash哦 ,这样就会实时响应我们的操作
在这里插入图片描述

  • 第二种:使用logs命令

当我们使用-d也就是后台启动的方式启动了容器怎么呢,没关系,我们还可以使用docker的logs 命令来实时的查看日志输出!
docker logs -f [containerId]
在这里插入图片描述
这里要注意,实时输出的功能主要是logs命令的-f参数实现的,logs命令很强大吧!当然logs命令不止这一个参数,有兴趣的同学可以参考微风大佬的这篇文章 Docker logs 查看实时日志(日志最后的N行、某刻后日志)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值