You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 9cff3e7
Browse filesBrowse the repository at this point in the historyBrowse files
Docker Engine 29.2 leaves a container whose port could not be bound
without its network. Every later start of that container has loopback
only, even once the port is free. Only a new container recovers.
For the Local course that meant:
- Lab 0 step 2: after `Bind for 0.0.0.0:8080 failed`, running
local/engine.sh again (what --check says to do) failed with
`registry-1 exited (1)`, and stopping the other program did not help.
- Lab 0 step 1: after stopping the other program, `up` exited 0 and the
step's check listed six services, but the container had no published
port.
local/engine.sh now removes the engine's containers that are not
running before `ork local start`. The engine's data is in volumes. A
rerun gives the same bind error while the port is taken, and a working
engine once it is free.
Troubleshooting gives a recovery that works for both stacks, covers a
doctor that cannot reach a container that lost its network, and has a
row for a missing python/.venv on the CLI path. Lab 0 steps 1 and 2
point to it.
Copy file name to clipboardExpand all lines: labs/local/troubleshooting.md
+4-3Lines changed: 4 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -13,14 +13,15 @@ Each failed line prints its fix.
13
13
14
14
| Symptom | Fix |
15
15
|---|---|
16
-
|`docker compose ... up` fails with a port already in use | Another program has one of the ports the stack publishes on `127.0.0.1`: 29092 (Kafka), 18081 (schema registry), 4566 and 5691 (RisingWave), 8000 (MCP). Stop that program. The ports are fixed: the broker tells its clients to come back to `127.0.0.1:29092`, and `local/write-env.sh` writes these ports into `.env`. |
17
-
|`local/engine.sh` fails because port 8080 is taken (`Bind for 0.0.0.0:8080 failed: port is already allocated`) |Pick another port for the registry: `export ORCA_LOCAL_REGISTRY_PORT=18080`, run `local/engine.sh` again, then `local/write-env.sh` so `.env` has the new address. Export it in every terminal you run `local/engine.sh` from: a run without it goes back to 8080. |
16
+
|`docker compose ... up` fails with a port already in use | Another program has one of the ports the stack publishes on `127.0.0.1`: 29092 (Kafka), 18081 (schema registry), 4566 and 5691 (RisingWave), 8000 (MCP). Stop that program, run `local/down.sh`, then run the `up` command again. Running it again without `local/down.sh` is not enough: Docker brings the container whose port was taken back without its network. The ports are fixed: the broker tells its clients to come back to `127.0.0.1:29092`, and `local/write-env.sh` writes these ports into `.env`. |
17
+
|`local/engine.sh` fails because a port is taken (`Bind for 0.0.0.0:8080 failed: port is already allocated`) |Another program has a port the engine publishes on `127.0.0.1`: 8080 (the registry) or 18082. If it is a container, `docker ps` shows which: look for `:8080->` under PORTS. Stop that program and run `local/engine.sh` again. If the port is 8080 and you want to keep that program running, move the registry instead: `export ORCA_LOCAL_REGISTRY_PORT=18080`, run `local/engine.sh` again, then `local/write-env.sh` so `.env` has the new address. Export it in every terminal you run `local/engine.sh` from: a run without it goes back to 8080. |
18
18
|`local/engine.sh`: `ANTHROPIC_API_KEY is not set in this shell`|`export ANTHROPIC_API_KEY=<your key>` in the terminal where you run the script. The engine reads the key only when it starts. |
19
19
|`local/engine.sh`: `bootstrap refused: an organization already exists`| The engine's volumes exist but its keys in `.lab/ork` are gone. Start over: `local/down.sh --reset`, then Lab 0. |
20
+
| CLI path: `.venv/bin/python: No such file or directory`| The Python path is not installed. If you installed the TypeScript path, use the `npm` command the lab gives beside the Python one. Otherwise install one of the two: Lab 0, "Before you start". |
20
21
| Doctor: `Agent Engine HTTP 401`| The key in `.env` is not the running engine's key. Run `local/write-env.sh`. If it still fails, the engine's volumes and keys are out of step: `local/down.sh --reset`, then Lab 0. |
21
22
| Doctor: `Kafka ... not found`| The topic does not exist yet: Lab 0, step 4. |
22
23
| Doctor: `Schema Registry ... not found`| The schema is registered when you seed the topic: `python seed.py` or `npm run seed`. |
23
-
| Doctor: `Kafka`, `Schema Registry`, or `MCP server` cannot be reached, or `RisingWave through MCP` fails | The streaming stack is not up: `docker compose -f local/compose.yaml up -d --wait`. |
24
+
| Doctor: `Kafka`, `Schema Registry`, or `MCP server` cannot be reached, or `RisingWave through MCP` fails | The streaming stack is not up: `docker compose -f local/compose.yaml up -d --wait`. If it is up and the doctor still says so, a container lost its network when its port was taken: run `local/down.sh`, then start both stacks again. |
24
25
| Doctor: `Agent Engine Connection error`| The engine is not up: `local/engine.sh`. Start the streaming stack first. |
25
26
|`seed`: `already holds 246 events`| The topic is seeded. Nothing to do. |
26
27
|`table or source not found: security.login_events`| Create the source: Lab 2, step 1. |
0 commit comments