我想知道是否有人可以给我指明正确的方向,因为我对此完全陌生。
我对 docker 和容器有一个疑问 - 如果我拉一个带有 php7.4 的容器,我可以在我的 Ubuntu 安装中使用它吗?或者我必须坚持使用这个容器并在容器内工作?
我想要做的是让 Apache 服务器运行我的网站和 Owncloud,并且两者都可以通过互联网访问。我可以毫不费力地运行这两个容器,但它们无法通过互联网访问(只能通过本地主机访问)。
然后我读到了关于 traefik 的文章——花了一天时间玩弄它,并成功设置了 Apache 和 Owncloud,但我还是无法通过互联网访问它们,而且 https 也出现了问题。这一切都非常有趣,我知道我还有很多东西要学,但当我打开一扇门时,后面还有另外 10 扇门,我有点迷茫。
答案1
对于您在本地运行服务但又希望它们在互联网上可访问(也使用 https)的最佳方式是使用 Cloudflare 隧道来访问特定服务。拥有 Cloudflare 帐户后,您要做的就是访问零信任, 点击通道->隧道,创建隧道, 选择Docker为了连接器,然后在运行服务的本地环境中复制并运行它。之后在 Cloudflare 面板中配置隧道以匹配运行服务的本地主机上的端口。比运行 Traefik 并配置路由器以接受来自外部的流量要简单得多,也安全得多。
对于 Docker 和 Apache php 部分,Docker Hub 上有一个 php:7.4-apache 镜像,您可以使用它,但它有许多漏洞。您也可以从 Ubuntu 或 Alpine 镜像开始,然后在 Dockerfile 中添加所需的软件包。