Suchý únor je skvělá akce a tak jsem říkal, zda s Dockerem nebudeme také na suchu. Našťěstí včera se situace změnila a vyšli nové verze Docker Engine, Docker Swarm and Docker Compose.
{% blockquote Docker docs https://docs.docker.com/engine/breaking_changes/ %} Pokud budete upgradovat, buďte opatrní, nový formát image není zpětně kompatibilní. {% endblockquote %}
V originálu si novinky můžete prostudovat na blogu Dockeru:
- Docker 1.10: New Compose file, improved security, networking and much more!
- Docker Engine 1.10 Security Improvements
- Compose 1.6: New Compose file for defining networks and volumes
pokud si chcete přečíst novinky v češtině pokračujte v mém článku.
Novinek je spousta, ale budu se věnovat jen těm zásadním.
Docker Engine 1.10
Docker 1.10 používá nový systém pro ukládání image a layers. Není to zpětně kompatibilní, pokud uděláte upgrade, nemůžete použít staršího clienta. Migrace, která se spustí může trvat poměrně dlouho, pozor pokud máte docker v produkci. Při migraci se počítají SHA256 checksumy pro každý soubor.
Tyto změny s podporou paralelního pushovaní by měli urychlit docker push a docker pull, zvláště při pushi by to mělo být znát.
Další změny se týkají bezpečnosti. Podpora seccomp profiles, User namespaces, Authorization plugins. V dalších verzích budou PID Control Group.
- nový příkaz
docker updateumožňuje měnit resources za běhu například pro navýšení paměti apod. - příkaz
docker imagespodporuje flag--format - nový
status=deadpro filtrování vdocker ps - deprecated
-fprodocker tag - přidaný support pro
**v.dockerignorepro více úrovní adresářů - nový logging ovladač pro Splunk
- podpora více tagů v buildu
Docker Compose 1.6
Nový formát version 2 pro docker-compose.yml.
version: '2'
services:
web:
build: .
ports:
- "5000:5000"
volumes:
- .:/code
redis:
image: redis
Migrace většinou nebude složitá, stačí přidat version: 2 a services: na začátek a odsadit.
Nové vlastnosti
- nový příkaz
eventsstejný jakodocker events - nový příkaz
configpro validacidocker-compose.ymlvčetně interpolací a použítí extendu - nový příkaz
createpro vytvoření kontejnerů bez spuštění - nový příkaz
downpro stopnutí a odstranění všeho co pouští příkazup - přídané nové konfigurační vlastnosti
cpu_quota,stop_signal - flag
--abort-on-container-exitstopne všechny kontainery pokud jeden vyhodí exit
Docker Machine 0.6
Zásadní vylepšení developer experience v příkazech docker-machine start, docker-machine stop a ostatních nemusíte používat argument default pokud ho přímo nespecifikujete.
Driver pro EC2 umí používat default VPC and automaticky číst přístupové údaje z ~/.aws/credentials.
Spousta drobných změn, které mi nepřišli už důležité.
Závěr
Každý release přinese spoustu změn. Celý ekosystém dockeru je poměrně mladý, ale o to více dynamický.
V Praze se každý měsíc konají docker meetupy, pokud vás tato problematika zajímá. Přijďte nebo nabídněte svoji přednášku pořadatelům.