一次弱鸡的docker复现失误经历

先是用windterm传复现文件

来到dockerfile的目录下

1
docker build -t escerror .
1
docker run -d -p 10085:80 escerror 

这个docker也是很常规的给我返回了一个容器id,说明容器启动成功

但是无论是物理机,还是虚拟机本身都访问不到

于是,查看报错日志

1
docker logs b659ea360966

里面发现有一个,run文件写入的权限问题,于是在虚拟机里给那整个文件夹777权限

因为之前也遇到过这个问题

1
chmod -R 777 esc-error

但是问题依旧

有新建了个容器,不出所料的依旧(省略中间很多解决错误方式)

那就进容器

1
docker exec -it 0cb8f9a1bf0e /bin/bash

看了容器里面/run的权限,并给了777

1
2
ls -ld /run
chmod 777 /run

依旧没解决

还是在容器里,没辙了,看一下端口,容器里没有netstat命令,用ss替代

1
ss -tuln

他妈的,发现

1
2
3
Netid  State    Recv-Q   Send-Q   Local Address:Port        Peer Address:Port           Process           
tcp LISTEN 0 80 127.0.0.1:3306 0.0.0.0:*
tcp LISTEN 0 128 0.0.0.0:3000 0.0.0.0:*

80压根没开嘛,草

1
docker run -d -p 10085:3000 escerror 

就好了