Skapa din första Docker-behållare
Använder Dockerfiler
Denna handledning förklarar grunderna för att komma igång med Docker. Jag antar att du redan har Docker installerat. Stegen i denna handledning kommer att fungera på alla Linux-distributioner som är kompatibla med Docker (CentOS, Ubuntu, etc).
Skapa din första Docker-behållare
Docker skapar virtuella behållare. Dockers containersystem är mycket effektivt eftersom det fungerar med commits. Detta sparar utrymme och låter dig se ändringar i behållaren. Till exempel, om du installerar Apache i en container kan du skapa en commit med namnet "Installed Apache" så att du vet exakt vad som hände.
Det första vi ska göra är att hämta från ett arkiv. Säg att du vill installera Ubuntu i en behållare, du kan hämta Ubuntu från förvaret:
docker pull ubuntu
Ha tålamod, eftersom detta kan ta ett tag. Efter att allt har laddats ner kan du skapa en behållare med detta operativsystem:
docker run -i -t ubuntu /bin/bash
Eller med Debian, till exempel:
docker run -i -t debian /bin/bash
Om det inte kan hitta operativsystemet (inte hämtat än) kommer det automatiskt att hämta det från Docker Hub.
I praktiken har du nu en container! Du kör bash i den slimmade behållaren som hanteras av Docker. Prova att köra några vanliga Linux-kommandon för att få en känsla för miljön.
När du skriver för exit
att avsluta behållaren och återgå till ditt huvudoperativsystem kommer alla dina ändringar att försvinna. För att spara ändringar i en container använder vi commits.
Begår
När du skapar en Docker-behållare genereras dess värdnamn automatiskt. Till exempel, när jag skapar en ny Ubuntu-behållare kan jag få värdnamnet f7943e42aff0
. Detta är namnet som Docker har gett till din container.
Installera vad du vill på den och se till att allt fungerar. Avsluta sedan din Docker-behållare:
exit
Vi måste nu engagera oss; annars kommer alla dina ändringar att gå förlorade.
docker commit -a "William E." -m "Installed Apache" f7943e42aff0 apachesnapshot
Den -a
omkopplare kan användas för att korrekt avgöra vem som skrivit att begå (som gjorde förändringarna i behållaren). -m
är commit-meddelandet. Det f7943e42aff0
är värdnamnet för min behållare. I ditt fall kommer det att skilja sig, eftersom Docker genererar dem slumpmässigt. apachesnapshot
är namnet på din bild.
Du kan se en lista med alla bilder på din lokala dator. De nyaste finns överst.
docker images
För att starta din Docker-behållare med ändringarna, kör:
docker run -t -i apachesnapshot /bin/bash
Använder Dockerfiler
Dockerfiler kan användas för att skapa bilder med applikationer som redan är installerade. Detta gör det bekvämt att starta en container utan att behöva köra ett specifikt kommando. Till exempel, om vi vill skapa en bild med filen som ~/file.txt
redan skapats, skulle vi använda följande Dockerfile:
FROM ubuntu:14.04
MAINTAINER William E. <william@localhost>
RUN touch ~/file.txt
För att skapa en Docker-behållare med denna Dockerfil, skapa en mapp för din Dockerfile på din lokala dator (jag använde ~/files
). Lägg innehållet i din Dockerfil i en fil som heter Dockerfile
. Du kan nu skapa en bild med den genom att köra:
docker build -t="test" .
Detta skapar en Docker-bild från ditt Dockerfile-skript. Du kan nu köra din container. test
är samma värde som test
i docker build
kommandot.
docker run -t -i test /bin/bash
När bash-skalet öppnas ser du att det ~/file.txt
redan har skapats.
Detta är bara ett smakprov på de kraftfulla miljöer som du kan skapa med Docker. Docker officiella manual går in mycket mer på djupet om dessa ämnen. Vid det här laget bör du kunna experimentera med att köra befintliga behållare och börja ta bilder av dina egna.
Skrivet av William David Edwards