docker镜像外部无法访问

docker打包一个flask项目的镜像;部署后,服务可以内部访问,外部无法访问!被指点说,运行镜像时,指定-p参数;这是主要原因吗?

是的,指定 -p 参数是让 Docker 在容器与主机之间建立一个端口映射,从而允许外部网络通过映射的端口号访问容器内部运行的应用程序。如果没有指定 -p 参数,那么默认情况下容器内部暴露的端口只能被容器内部的进程或其他容器所访问,无法被外部网络访问。

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 帮你找了个相似的问题, 你可以看下: https://ask.csdn.net/questions/764718
  • 这篇博客你也可以参考下:docker部署flask
  • 除此之外, 这篇博客: 使用docker部署flask项目中的 十四、镜像备份与迁移 部分也许能够解决你的问题, 你可以仔细阅读以下内容或者直接跳转源博客中阅读:

    我们可以通过save命令将镜像打包成文件,拷贝给别人使用

    • docker save -o 保存的文件名 镜像名
    docker save -o ./centos-iqiyi-uwsgi.tar nengliudian/centos-iqiyi-uwsgi
    

    在拿到镜像文件后,可以通过load方法,将镜像加载到本地

    docker load -i ./centos-iqiyi-uwsgi.tar
    

    以后项目迁移到任何操作系统下通吃


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^