Remember to also install docker-compose.
sudo pacman -S docker-compose
====== IPVlan - Macvlan Networks ======
For some reason, running IPVlan networks on the NetworkManager daemon doesn't work. I disabled the NetworkManager and enabled systemd-networkd. Then ran:
docker network create -d ipvlan --subnet= --gateway= -o parent= my_ipvlan_name
To mount a container to that network through compose, you need to add it in the compose file as (alpine is used for the example):
service:
alpine:
image: alpine
container_name: alpine
networks:
ipvlan:
ip4_address: 192.168.0.4 # This is the IP assigned to the container. If not included, it will grab the first available IP from the DHCP server
restart: unless-stopped
ports:
- 80:80
networks:
ipvlan:
external: true
===== Cool Commands =====
A live resource monitor for docker containers:
docker stats
Find the locations of all docker containers running through compose:
docker compose ls
List all docker containers:
docker ps
Go inside a container through shell:
docker exec -it
The entrypoint is basically telling the container which shell to open when entering. For most cases, it will be:
/bin/bash
/bin/zsh
bash
zsh
Restart and recreate a container stack:
docker compose up -d --force-recreate