influxdata / influxdata/influxdb
Cannot access server from outside container when using docker image on ARM64 machine
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 31.7k
- Forks
- 3.7k
- Avg merge
- 13h 37m
- Merged PRs (30d)
- 8
Description
Steps to reproduce:
List the minimal actions needed to reproduce the behavior.
- Standup Docker container using
influxdb:alpineorlatestimage on arm64 machine, Expose port 8086, mount a vol to/var/lib/influxdb2 - Try to access the service from outside the container e.g.
http://localhost:8086or better yethttp://<host-machine-ip>:8086get connection refused. - Get a shell inside the container
docker exec -it <container-id> /bin/shinstall curl,curl http://localhost:8086you get a response. - You can also try running
influx pingcmd you'll get OK
Expected behavior:
Service should allow/respond to incoming request on all intefaces.
http-bind-address is set to 0.0.0.0:8086 in config file.
Actual behavior:
Get connection refused when accessing from outside the container.
firewall settings were checked, even explicit rule was added to open port on host machine. Still no access.
Note: same exact stack works without issues on amd64 machine inside docker with same configuration.
Environment info:
- System info:
Linux 4.4.126-rockchip-ayufan-239 aarch64 - InfluxDB version: InfluxDB 2.0.5 (git: 741389781e) build_date: 2021-04-27T17:57:07Z
- Other relevant environment details: Docker Swarm:
Engine:
Version: 19.03.12
API version: 1.40 (minimum version 1.12)
Go version: go1.13.10
Git commit: 48a6621
Built: Mon Jun 22 15:45:33 2020
OS/Arch: linux/arm64
Experimental: false
containerd:
Version: 1.2.13
GitCommit: 7ad184331fa3e55e52b890ea95e65ba581ae3429
runc:
Version: 1.0.0-rc10
GitCommit: dc9208a3303feef5b3839f4323d9beb36df0a9dd
docker-init:
Version: 0.18.0
GitCommit: fec3683
Config:
http-bind-address: 0.0.0.0:8086
Logs:
lvl=info msg="Welcome to InfluxDB" log_id=0Tmbcfkl000 version=2.0.5 commit=741389781e build_date=2021-04-27T17:57:07Z
lvl=info msg="Resources opened" log_id=0Tmbcfkl000 service=bolt path=/var/lib/influxdb2/influxd.bolt
lvl=info msg="Bringing up metadata migrations" log_id=0Tmbcfkl000 service=migrations migration_count=15
lvl=info msg="Using data dir" log_id=0Tmbcfkl000 service=storage-engine service=store path=/var/lib/influxdb2/engine/data
lvl=info msg="Compaction settings" log_id=0Tmbcfkl000 service=storage-engine service=store max_concurrent_compactions=2 throughput_bytes_per_second=50331648 throughput_bytes_per_second_burst=50331648
lvl=info msg="Open store (start)" log_id=0Tmbcfkl000 service=storage-engine service=store op_name=tsdb_open op_event=start
lvl=info msg="Open store (end)" log_id=0Tmbcfkl000 service=storage-engine service=store op_name=tsdb_open op_event=end op_elapsed=0.333ms
lvl=info msg="Starting retention policy enforcement service" log_id=0Tmbcfkl000 service=retention check_interval=30m
lvl=info msg="Starting precreation service" log_id=0Tmbcfkl000 service=shard-precreation check_interval=10m advance_period=30m
lvl=info msg="Starting query controller" log_id=0Tmbcfkl000 service=storage-reads concurrency_quota=10 initial_memory_bytes_quota_per_query=9223372036854775807 memory_bytes_quota_per_query=9223372036854775807 max_memory_bytes=0 queue_size=10
lvl=info msg="Configuring InfluxQL statement executor (zeros indicate unlimited)." log_id=0Tmbcfkl000 max_select_point=0 max_select_series=0 max_select_buckets=0
lvl=info msg=Starting log_id=0Tmbcfkl000 service=telemetry interval=8h
lvl=info msg=Listening log_id=0Tmbcfkl000 service=tcp-listener transport=http addr=0.0.0.0:8086 port=8086```
__Performance:__
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reproducing the issue with the influxdb:alpine or latest Docker image on an ARM64 host, using the reported http-bind-address and port 8086 configuration. Compare container networking and startup behavior with amd64, using the Docker and InfluxDB logs as the entry points. Done means requests from the host or another machine reach the service on port 8086 while the existing in-container checks still succeed.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- docker, linux
- Domain
- databases, infrastructure, networking
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100