云服务器开放了8080端口,但本地却telnet不通。
防火墙是关的.
原因应该是8080端口没有服务,也就是没被服务占用的话(用netstat -lnp指令找不到的话),是telnet不通的。
nginx使用了80端口,本地telnet通。
关闭后就不行了。
在云服务器上用docker启动jenkins,但执行命令后,却没启动成功,docker -ps没有进程。
另外:
应该不是:
补充一个问题:
container id 和 容器的id 难道是两个不同玩意。还是单纯前者没显示完?
先不管了。现在通过docker ps -a 找到正确的容器信息,并启动后,虽然显示在运行,但8080端口却未被占用。
难道是因为启动时的指令没有指定端口映射?
本地测试确定:
容器启动后,它映射的主机端口会被使用。
所以linux服务器上容器虽然启动,但它映射主机的8080端口应当被占用。看了下其它文章,发现,如果有正确的映射的话,
docker ps应该会显示
宿主机端口->运行容器端口
这样的信息。
既然如此就去添加映射。
具体参考:
https://blog.csdn.net/muzi_87/article/details/127521247?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522168515741616800222897481%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=168515741616800222897481&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allfirst_rank_ecpm_v1~rank_v31_ecpm-1-127521247-null-null.142v88insert_down38v5,239v2insert_chatgpt&utm_term=docker%20%E7%BB%99%E5%AE%B9%E5%99%A8%E9%87%8D%E6%96%B0%E6%98%A0%E5%B0%84%E7%AB%AF%E5%8F%A3&spm=1018.2226.3001.4187下图中的端口是我添加后才有的,一开始根本就是空的。
但有个问题,就是修改后,再启动容器又恢复默认文件了,没有了端口映射。
可能要整个重启docker.烦了,直接新建一个容器(docker run 是根据已有镜像生成一个新容器,而不是直接运行已有容器,否则就不用配镜像了。start是直接运行容器。):
本地也是能telnet通了。
浏览器也能访问界面了。
补充:
docker run -dit --name jenkins -p 8080:8080 jenkinsci/blueocean 是正常的
docker run -dit --name jenkins -p 8080:8080 jenkinsci/blueocean /bin/bash 后者是不正常的(会导致浏览器访问不了8080端口)