我正在尝试构建https://filebrowser.xyz/installation的docker映像
我的Dockerfile:
FROM ubuntu:latest
RUN apt-get update && apt install curl -y
RUN curl -fsSL https://filebrowser.xyz/get.sh | bash
VOLUME /srv
EXPOSE 8080
ENTRYPOINT filebrowser -r /srv -p 8080
我构建了图像并由docker run -p 8080:8080 -v /home:/srv filemanager
日志显示Listening on 127.0.0.1:8080
。但是,当我打开localhost:8080时,它不起作用,连接失败
我已通过运行示例Nginx docker映像确认端口8080可用
答案 0 :(得分:2)
Listening on 127.0.0.1:8080
意味着服务器实际上是在docker容器的环回接口上侦听。即在容器外部将无法访问它。
要使其正常运行,您需要将filebrowser
配置为在*:8080
上运行。
更新
docker run -p 8080:8080 -v ~/some/path/filebrowser.json:/.filebrowser.json -v ~/some-path:/srv filemanager
为我工作,其中filebrowser.json
包含
{
"port": 8080,
"baseURL": "",
"address": "",
"log": "stdout",
"database": "/database.db",
"root": "/srv"
}
正确的日志打印
2019/08/12 17:14:27 Using config file: /.filebrowser.json
2019/08/12 17:14:27 Listening on [::]:8080
答案 1 :(得分:1)
文件浏览器正在侦听回送地址。使用0.0.0.0
使用--address
选项在*:8080
上运行
将ENTRYPOINT更改为以下内容-
ENTRYPOINT filebrowser -r /srv -a 0.0.0.0 -p 8080
日志将显示类似
Listening on [::]:8080