-
-
Notifications
You must be signed in to change notification settings - Fork 1
wip up
Brings the stack up: builds what needs building, creates the network, starts sidecars, mirrors the source, and starts the primary container.
wip up [-d] [--no-sync] [--no-cache] [--watch] [--interval N]
Under mode: container and mode: compose-native:
-
Validate
--interval(only when--watchis given) — before any side effect, so a bad value doesn't leave a half-started stack behind. -
Build compose-native
build:services — once per invocation, independs_onorder. No-op in container mode. See Compose Build. -
Create the network if
network:is set and missing. See Networking. -
Start every sidecar, by name. Existing ones are
started, missing ones created. -
Mirror the source into the sync volume, if
sync:is configured and--no-syncwasn't passed. See Source Sync. -
Start the primary container —
startif it exists,run --name …if not. -
Enter the watch loop, if
--watchwas given.
$ wip up -d
wip: creating network 'app-tier'
wip: dependency 'redis' not found, creating it
wip: starting existing dependency 'development.mysql'
wip: syncing /home/me/app -> app-src:/app
wip: run `wip sync --watch` in another terminal to keep /app up to date
wip: container 'app' not found, creating itUnder mode: compose it's much shorter: mirror the source (unless --no-sync),
then delegate to <compose command> -f FILE [-p PROJECT] up [-d].
Run the primary container in the background. Without it, wip attaches to the container and your terminal is held until it exits.
Sidecars are always started detached, regardless of this flag.
Skip step 5. Useful when you know the volume is already current and want a faster boot, or when
you're about to run wip sync --watch anyway.
Has no effect without a sync: block.
Passes --no-cache to the compose-native image builds in step 2. No effect in container mode
(nothing is built there) or compose mode.
Poll every N seconds (default 5) and restart any dependency that has exited and whose
restart: allows it:
$ wip up --watch
wip: watching app, mysql for exited restart: containers every 5s (running detached; Ctrl-C to stop)
wip: 'mysql' has exited, restarting it (restart: unless-stopped)Key points:
-
Implies
-d. The primary container can't hold an attached TTY while the loop polls on the same thread. -
Foreground loop.
Ctrl-Cstops supervision; closing the terminal does too. -
Not available under
mode: compose— there's no service list to poll. -
Status-based, not event-based — it can't distinguish a crash from a
wip stopyou ran elsewhere.
Full semantics and limitations: Restart Policies.
--interval must be positive:
--interval must be a positive number
Re-running wip up against a running stack is safe. Existing containers are started, which is a
no-op when they're already running. Nothing is recreated.
That also means config changes don't apply to existing containers. New ports, volumes, or env vars require:
wip down && wip up -d| Symptom | Likely cause |
|---|---|
App can't resolve redis / db by name |
network: unset — see Networking
|
New ports: entry isn't listening |
container predates the change; wip down && wip up -d
|
container: must be set… |
Dependencies |
pull access denied |
Registry Authentication |
no matching manifest for linux/… |
Architecture Mismatch |
| Boot hangs with low CPU | bind-mount overhead — Fixing a Slow Boot |
0x8007000e / too many mounted volumes |
Volume Limit Reached |
- wip stop / wip down
- Restart Policies
- Source Sync
-
Debug Output —
wip up --debugwhen boot is slow
Introduction
Modes
Configuration
- Configuration Reference
- Config File Discovery
- Dependencies
- Networking
- Interactions
- Restart Policies
- Env Files
- Secret Masking
- Dockerignore
- Shadow Build Context
- Source Sync
- Sync Modes
compose.yml support
- Compose File Support
- Compose Build
- Compose Depends On
- Compose Profiles
- Compose Variable Interpolation
Commands
- CLI Command Reference
- wip init
- wip version
- wip doctor
- wip config
- wip build
- wip up
- wip stop
- wip down
- wip exec
- wip run
- wip shell
- wip logs
- wip sync
- wip dispatch
- Global Options
- Debug Output
- TTY Allocation
Guides
- Guides
- Migrating from dip
- Reusing an Existing compose.yml
- Fixing a Slow Boot
- Continuous Sync
- Auto Restarting Containers
- Multi Arch Images
- Using wip in CI
Troubleshooting
- Troubleshooting & FAQ
- FAQ
- Configuration Errors
- WSLC Not Found
- Registry Authentication
- Architecture Mismatch
- Volume Limit Reached
- rsync Not Found
- Reporting Issues
Comparison
Project