98 lines
2.4 KiB
Markdown
98 lines
2.4 KiB
Markdown
# Docker Compose v2 Migration Guide
|
|
|
|
This project uses **Docker Compose v2** (the newer version integrated into Docker CLI).
|
|
|
|
## What's the Difference?
|
|
|
|
| Version | Command | Status |
|
|
|---------|---------|--------|
|
|
| v1 | `docker-compose` | Legacy (standalone binary) |
|
|
| v2 | `docker compose` | Current (built into Docker) |
|
|
|
|
**Key change:** The command changed from `docker-compose` (with hyphen) to `docker compose` (with space).
|
|
|
|
## Check Your Version
|
|
|
|
```bash
|
|
# Check if you have Docker Compose v2
|
|
docker compose version
|
|
|
|
# Check if you have old v1
|
|
docker-compose --version
|
|
```
|
|
|
|
## If You Have v1 Only
|
|
|
|
### Option 1: Upgrade to Docker Compose v2 (Recommended)
|
|
|
|
**macOS with OrbStack:**
|
|
```bash
|
|
# OrbStack includes Docker Compose v2 by default
|
|
# Just make sure OrbStack is up to date
|
|
orb update
|
|
```
|
|
|
|
**macOS with Docker Desktop:**
|
|
```bash
|
|
# Update Docker Desktop to latest version
|
|
# Docker Compose v2 is included since Docker Desktop 3.4.0
|
|
```
|
|
|
|
**Manual Installation:**
|
|
```bash
|
|
# Install as Docker CLI plugin
|
|
mkdir -p ~/.docker/cli-plugins
|
|
curl -SL https://github.com/docker/compose/releases/latest/download/docker-compose-darwin-aarch64 -o ~/.docker/cli-plugins/docker-compose
|
|
chmod +x ~/.docker/cli-plugins/docker-compose
|
|
```
|
|
|
|
### Option 2: Create an Alias (Quick Fix)
|
|
|
|
If you can't upgrade immediately, create an alias:
|
|
|
|
```bash
|
|
# Add to your ~/.zshrc or ~/.bashrc
|
|
echo "alias docker-compose='docker compose'" >> ~/.zshrc
|
|
source ~/.zshrc
|
|
```
|
|
|
|
### Option 3: Use Docker Compose v1 Syntax (Not Recommended)
|
|
|
|
Manually replace all `docker compose` commands with `docker-compose` in:
|
|
- `start.sh`
|
|
- `README.md`
|
|
- `DATAGRIP_SETUP.md`
|
|
|
|
## Why We Use v2
|
|
|
|
1. **Built-in**: No separate installation needed
|
|
2. **Better Performance**: Faster and more efficient
|
|
3. **Active Development**: v1 is in maintenance mode only
|
|
4. **Same YAML**: Your `docker-compose.yml` works with both versions
|
|
|
|
## Verify Your Setup
|
|
|
|
```bash
|
|
./check-docker.sh
|
|
```
|
|
|
|
This will check your Docker and Docker Compose installation.
|
|
|
|
## Common Issues
|
|
|
|
### "docker: 'compose' is not a docker command"
|
|
|
|
You have Docker but not Docker Compose v2. Solutions:
|
|
- Update Docker Desktop
|
|
- Install Docker Compose v2 plugin (see above)
|
|
- Use the alias workaround
|
|
|
|
### Both v1 and v2 installed
|
|
|
|
No problem! Both can coexist. Just use `docker compose` (v2) for this project.
|
|
|
|
## References
|
|
|
|
- [Docker Compose v2 Documentation](https://docs.docker.com/compose/cli-command/)
|
|
- [Migration Guide](https://docs.docker.com/compose/migrate/)
|