docker compose build # Build the images
docker compose start # Start the containers
docker compose stop # Stop the containers
docker compose up -d # Build and start
docker compose ps # List what's running
docker compose rm # Remove from memory
docker compose down # Stop and remove
docker compose logs # Get the logs
docker compose exec [container] bash # Run a command in a container
docker compose --project-name test1 up -d # Run an instance as a project
docker compose -p test2 up -d # Shortcut
docker compose ls # List running projects
docker compose cp [containerID]:[SRC_PATH] [DEST_PATH] # Copy files from the container
docker compose cp [SRC_PATH] [containerID]:[DEST_PATH] # Copy files to the container
# build the service
docker compose build
# builds, (re)creates, starts, attaches to containers for a service
docker compose up
# list the services
docker compose ps
# bring down what was created by UP
docker compose down
See L09-04 Docker Compose if you want to see a full example.
services:
redis:
image: redis:alpine
deploy:
resources:
limits:
cpus: '0.50'
memory: 150M
reservations:
cpus: '0.25'
memory: 20M
services:
web:
image: nginx:alpine
environment:
- DEBUG=1
- FOO=BAR
services:
web:
image: nginx:alpine
ports:
- "8080:80"
db:
image: postgres
ports:
- "5432"
services:
web:
image: nginx:alpine
networks:
- frontend
app:
image: myapp
networks:
- frontend
- backend
db:
image: postgres
networks:
- backend
- frontend
networks:
frontend:
backend:
services:
web:
build: .
depends_on:
- db
db:
image: postgres
services:
app:
image: myapp
depends_on:
- db
db:
image: postgres
volumes:
- db-data:/etc/data
networks:
- back-tier
volumes:
db-data:
services:
app:
image: myapp
depends_on:
- db
db:
image: postgres
volumes:
- ./db:/etc/data
networks:
- back-tier
services:
app:
image: myapp
restart: always
depends_on:
- db
db:
image: postgres
restart: always