在 Mac OS 上无法通过 HTTP 从容器外部连接到 Clickhouse

Can't connect from outside of container to Clickhouse by HTTP on Mac OS

我正在尝试在 Mac OS 上将 ClickHouse 与 docker 一起使用。我使用下一个命令:

docker run -d -p 8123:8123 --rm --name some-clickhouse-server -v /my/config/path/config.xml:/etc/clickhouse-server/config.xml --ulimit nofile=262144:262144 yandex/clickhouse-server:latest

容器成功启动,但是当我尝试通过 http curl 'http://localhost:8123' 连接到它时出现错误:

Failed to connect to localhost port 8123: Connection refused

当我从 Clickhouse 客户端(也使用 docker 图像)连接到 Clickhouse 时,一切正常

我 运行 Clickhouse-server 镜像处于 -it 模式,安装 curl,启动服务器并尝试从容器内部连接 ​​clickhouse-server,也可以

我还尝试修改 config.xml(从 docker 图像复制)设置 listen_host::0.0.0.0::1, 127.0.0.1) 对于每个设置,我都尝试通过 localhost127.0.0.10.0.0.0 的 curl 进行连接 - 这些都没有解决我的问题

我在 Mac OS 上使用了 Docker 工具箱(结合 VirtualBox)。所以,我已经迁移到 Docker 桌面,这解决了我的问题

通常,docker desktop 将主机和容器的这些详细信息写入 /etc/hosts,添加 clickhouse-service 后解决了此问题。

127.0.0.1 localhost clickhouse-service