Opzich is docker niet moeilijk. Het vervelende is alleen dat als het eenmaal vlot werkt en je er weinig werk aan hebt, je dus vergeet hoe het ook alweer zat.
Vandaar wat veel gebruikte docker commando’s om het weer even bij te spijkeren.
start docker containers met docker compose:
Start docker images
sudo docker-compose -f docker-compose.yml up -d
Kijk welke containers draaien:
lbeuker@dockerhost:~$ sudo docker container ls
sudo docker container ls
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
d86206b9e41d homeassistant/home-assistant "python -m homeassis…" 11 days ago Up 7 days home-assistant
902ddb2a7e5a jacobalberty/unifi:stable "/usr/local/bin/dock…" 9 months ago Up 7 days (healthy) unifi-controller
8872deff45b0 influxdb "/entrypoint.sh infl…" 9 months ago Up 7 days influxdb
Update home-asssistant docker image naar nieuwe versie
Hoewel de docker compose config een referentie heeft naar homeassistant/home-assistant, wat de laatste versie moet zijn wordt bij het stoppen en starten de image niet bijgewerkt. We moeten daarvoor eerst de image stoppen, dan verwijderen. De config blijft behouden. Bij het herstarten van de docker container wordt de nieuwe versie gedownload en zijn we weer bij.
Eerst even kijken wat er draait
sudo docker container ls
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
d86206b9e41d homeassistant/home-assistant "python -m homeassis…" 11 days ago Up 7 days home-assistant
902ddb2a7e5a jacobalberty/unifi:stable "/usr/local/bin/dock…" 9 months ago Up 7 days (healthy) unifi-controller
8872deff45b0 influxdb "/entrypoint.sh infl…" 9 months ago Up 7 days influxdb
Daarna stoppen we de home assistant docker image
sudo docker stop home-assistant
Daarna verwijderen we de docker image
sudo docker rm home-assistant
Om de update te forceren downloaden we de nieuwe latest image
sudo docker pull homeassistant/home-assistant:latest
latest: Pulling from homeassistant/home-assistant
e79bb959ec00: Already exists
d4b7902036fe: Already exists
1b2a72d4e030: Already exists
d54db43011fd: Already exists
69d473365bb3: Already exists
7dc3a6a0e509: Already exists
68cd774d0852: Already exists
2ef86095a118: Already exists
42c091edeef0: Already exists
05de3d29a84d: Pull complete
6559fa264aff: Pull complete
5e8f6224fd84: Downloading [=============================================> ] 99.95MB/110.2MB
639b4e80509e: Download complete
0b43d90065e2: Downloading [===============> ] 87.13MB/287.9MB
a8524cb715f6: Download complete
Gemakshalve start ik gewoon de docker-compose file ipv de losse image aangezien deze de configuratie voor de home assistant image bevat. Alle images die al draaien en up to date zijn blijven gewoon draaien. Alleen de images die nog niet draaien worden nu gestart.
sudo docker-compose -f docker-compose.yml up -d
unifi-controller is up-to-date
influxdb is up-to-date
Creating home-assistant … done
Als alles goed is gegaan draait de image meteen weer. Soms kan het zijn dat er wat nieuwe files gedownload moeten worden.
sudo docker container ls
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
a9b3309731f0 homeassistant/home-assistant "python -m homeassis…" 56 seconds ago Up 54 seconds home-assistant
902ddb2a7e5a jacobalberty/unifi:stable "/usr/local/bin/dock…" 9 months ago Up 7 days (healthy) unifi-controller
8872deff45b0 influxdb "/entrypoint.sh infl…" 9 months ago Up 7 days influxdb
Docker images opruimen
Helemaal yolo draai ik home-assistant nog op een oude kleine SSD. Probleem daarbij is dat regelmatig de schijf vol liep. Nadat ik alle images naar een docker host op mn synology had verplaatst bleven de problemen aanhouden.
Wat blijkt, docker doet bij een pull geen update van de image, maar download gewoon een nieuwe. De oude blijft daarbij bestaan.
Het loont dus om af en toe even te kijken naar de gedownloade images…
sudo docker image ls
REPOSITORY TAG IMAGE ID CREATED SIZE
jacobalberty/unifi stable 2c6122e6bc86 5 days ago 710MB
homeassistant/home-assistant latest b66d1a9659c7 6 days ago 2.3GB
homeassistant/home-assistant <none> 58b6def26df6 8 days ago 2.3GB
homeassistant/home-assistant <none> 9baa7f49f749 3 weeks ago 2.33GB
jgoerzen/weewx latest 07b411c6982d 5 weeks ago 291MB
homeassistant/home-assistant <none> 8527ee826570 2 months ago 2.31GB
homeassistant/home-assistant <none> ce913a598aa9 2 months ago 2.24GB
homeassistant/home-assistant <none> 7ff664fa081e 4 months ago 2.22GB
blackbird_blackbird latest 74e2863abbc0 6 months ago 329MB
ubuntu 16.04 b9e15a5d1e1a 7 months ago 115MB
influxdb latest af2366cb51ad 9 months ago 209MB
jacobalberty/unifi <none> 10b991e98773 10 months ago 671MB
Tadaaaa… er staat nog voor ruim 10GB aan oude images te wachten om weggemikt te worden.
Dat kan met
sudo docker image rm imageid
Als je geen zin hebt het gebruik uit te zoeken kan je ook in 1x alle ongebruikte images weggooien met :
sudo docker image prune
En dan houd je alles bij in een blog zodat je het kan terugzoeken. Blijkt dat je het niet steeds wil terug zoeken. Vandaar maar een script gemaakt met bovenstaande commando’s. Als er een update aanwezig is voer ik handmatig het script uit en zijn we weer helemaal bij.
sudo docker stop home-assistant
sudo docker rm home-assistant
sudo docker pull homeassistant/home-assistant:latest
sudo docker-compose -f docker-compose.yml up -d
sudo docker image prune