我已经创建了一个免费域名freenom.com我正在尝试通过 Ubuntu 22.04 VDI连接到它。目标是,一旦我连接,就可以启动。问题是,ssh 命令失败并出现错误:“ssh:无法解析主机名 example.ml:没有与主机名关联的地址”。ssh [email protected]
docker-compose --build
问题的根源是什么?
这个问题与 testdriven.io 系列关于如何构建和部署 Django 应用程序的文章有关。具体来说,我的问题与三篇文章中的第二篇有关。当我们使用 nginx 和 gunicorn 在本地构建应用程序时,一切正常。然后,他使用 linux 命令ssh user@your-ip-or-domain
连接到主机,我认为这可能是他建议创建的域名freenom.com。
现在,我在 Windows 机器上,不知道如何执行他没有解释的这个操作(我们应该将项目复制到装有 Linux 的虚拟机上吗?你应该用 docker 运行 Linux 映像吗?)。
我所指的文章是这在里面“运行容器”段落。我正在寻找对该阶段的更深入的解释。非常感谢。
答案1
域名不会自动拥有一个可以通过 SSH 连接的系统。您拥有的只是电话簿条目 - 您仍然需要从其他地方获取实际的服务器(然后使用 Freenom 的控制面板将您的域名指向该服务器的 IP 地址)。
(有许多网络托管公司向您出售 Linux 虚拟服务器和一个预先配置的域名作为一个包,但 Freenom 只是一个域名注册商,并不涉及服务器托管。)
因此,您的下一步是选择一家服务器托管公司,并向他们支付一台小型 Linux 虚拟机的费用。首先,您将通过 IP 地址通过 SSH 连接到它(至少是为了测试/查看),但您可以使用 Freenom 的控制面板将地址分配给您的域名。
(你可能可以如果您花费额外的时间设置“端口转发”以使 VM 可公开访问,则可以在 VirtualBox 中使用 Linux 在 PC 上完成大多数操作 - 但托管服务器在购买时已经包含专用 IP 地址,因此这要容易得多。)
现在,我在 Windows 机器上,不知道如何执行他没有解释的这个操作(我们应该将项目复制到装有 Linux 的虚拟机上吗?你应该用 docker 运行 Linux 映像吗?)。
没关系——这个操作不会对您的项目产生任何影响,它只允许您一般连接到服务器。
该命令存在于 Windows 10 中,并且还有其他适用于 Windows 的 SSH 客户端(例如 PuTTY 或 Bitvise)。还有用于将文件传输到服务器的ssh
Windows SFTP 应用程序(例如 WinSCP 或命令)。sftp
据我理解,本教程假设你已经有你的项目已经完全设置为在 Docker 中运行,也就是说,你应该使用git clone
你自己的仓库(包含项目 + Dockerfiles + 所有内容),而不是演示的“django-on-docker”Git 仓库,你可能已经创建了根据之前的教程。
这不是一个很好的教程。