2

我一直在尝试在 Azure 上设置 docker 映像,但遇到了问题。该图像被设计为在使用 docker 命令启动它时需要一个 -h 主机名参数。

图片在这里:https ://hub.docker.com/r/sverhoeven/cartodb/

我无法将这些命令转换为我可以在 Azure 上执行的操作。

-h 的选项如下:

如何使用不同的主机名:

例如使用 cartodb.example.com 作为主机名,以:

docker run -d -p 80:80 -h cartodb.example.com sverhoeven/cartodb 

所选主机名还应解析为运行 Web 服务器的机器的 IP 地址。如果您还没有指向您的服务器的域/子域,您可以使用服务器的外部 IP 地址:

docker run -d -p 80:80 -h <servers-external-ip-address> sverhoeven/cartodb

这是不告诉图像使用什么主机名而发生的情况 - 注意,当您不指定主机名时,它默认为 localhost。我在日志输出中看到很多 127.0.0.1 以及对 localhost 的一些引用。这是有关的:

Started GET "/" for 127.0.0.1 at 2018-06-20 01:53:59 +0000
Processing by Admin::PagesController#index as */*
...
Redirected to http://localhost/login
...
Started GET "/favicon.ico" for 127.0.0.1 at 2018-06-20 01:54:25 +0000
ActionController::RoutingError (No route matches [GET] "/favicon.ico"):
...
Started POST "/sessions/create" for 127.0.0.1 at 2018-06-20 01:54:39 +0000
Started GET "/user/dev/dashboard/" for 127.0.0.1 at 2018-06-20 01:54:39 +0000

我正在寻找建议或解决方案。

注意:这与我在此处询问的有关 carto 图像的另一个问题有切线关系。

4

1 回答 1

1

绕了一圈又一圈,简短的回答是否定的,这现在是不可能的。解决方法是使用环境变量

于 2018-07-26T04:45:23.937 回答