docker运行后访问不了外网,网页显示404

    技术2022-07-11  106

    自学的时候出现这种问题,查了一些资料,现在解决啦(适合小白)

    首先我们已经获取到了镜像tomcat 可以使用下述代码查看

    docker images [root@localhost ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE tomcat latest 2eb5a120304e 2 weeks ago 647MB

    看一下正在运行的容器

    docker ps

    如果没有运行的容器就输入下面的代码

    docker run -p 8080:8080 -d tomcat

    输入后就是这种样子

    [root@localhost ~]# docker run -p 8080:8080 -d tomcat 28ec3b1b519fb4c148d94072f40d154f680eb6571c5304e8ee05b40bb241034c

    这是我正在运行的,容器的名称是hungry_matsumoto

    [root@localhost ~]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 28ec3b1b519f tomcat "catalina.sh run" 2 minutes ago Up 2 minutes 0.0.0.0:8080->8080/tcp hungry_matsumoto

    当然你也可以自己命名,例如使用practice docker run -p 8080:8080 --name practice -d tomcat

    现在去访问外网就是这种样子 所以我们要进入交互模式改点东西,注意 要用自己容器的名称

    [root@localhost ~]# docker exec -it hungry_matsumoto /bin/bash

    在交互模式输入

    ls -al root@28ec3b1b519f:/usr/local/tomcat# ls -al total 124 drwxr-xr-x. 1 root root 30 Jun 10 08:17 . drwxr-xr-x. 1 root root 20 Jun 10 08:04 .. -rw-r--r--. 1 root root 18982 Jun 3 17:13 BUILDING.txt -rw-r--r--. 1 root root 5409 Jun 3 17:13 CONTRIBUTING.md -rw-r--r--. 1 root root 57092 Jun 3 17:13 LICENSE -rw-r--r--. 1 root root 2333 Jun 3 17:13 NOTICE -rw-r--r--. 1 root root 3255 Jun 3 17:13 README.md -rw-r--r--. 1 root root 6898 Jun 3 17:13 RELEASE-NOTES -rw-r--r--. 1 root root 16262 Jun 3 17:13 RUNNING.txt drwxr-xr-x. 2 root root 4096 Jun 10 08:17 bin drwxr-xr-x. 1 root root 22 Jul 1 06:09 conf drwxr-xr-x. 2 root root 4096 Jun 10 08:17 lib drwxrwxrwx. 1 root root 177 Jul 1 06:09 logs drwxr-xr-x. 2 root root 134 Jun 10 08:17 native-jni-lib drwxrwxrwx. 2 root root 30 Jun 10 08:17 temp drwxr-xr-x. 2 root root 6 Jun 10 08:17 webapps drwxr-xr-x. 7 root root 81 Jun 3 17:11 webapps.dist drwxrwxrwx. 2 root root 6 Jun 3 17:10 work

    可以看到有两个目录

    drwxr-xr-x. 2 root root 6 Jun 10 08:17 webapps drwxr-xr-x. 7 root root 81 Jun 3 17:11 webapps.dist

    我们要把webapps目录删掉,再把webapps.dist目录换成webapps

    root@28ec3b1b519f:/usr/local/tomcat# rm -r webapps root@28ec3b1b519f:/usr/local/tomcat# mv webapps.dist webapps

    然后再去访问外网 http://x.x.x.x:8080/ (x.x.x.x 输入IP地址) 就可以了

    Processed: 0.040, SQL: 9