Sari la conținutul principal

Primul container

Vom folosi o imagine Alpine cu versiunea specificată explicit, pentru ca rezultatul să fie reproductibil.

Descărcarea imaginii​

docker image pull alpine:3.24
docker image ls alpine

Prima comandă descarcă imaginea din Docker Hub. A doua afișează imaginile Alpine disponibile local.

Container cu execuție scurtă​

docker container run --rm alpine:3.24 uname -a

Docker creează un container, execută uname -a, apoi îl șterge datorită opțiunii --rm.

Container interactiv​

docker container run --rm -it alpine:3.24 sh

În shell-ul containerului rulați:

cat /etc/os-release
id
ps
exit

Opțiunea -i păstrează intrarea standard deschisă, iar -t alocă un pseudo-terminal.

Container în background​

docker container run -d --name alpine-demo alpine:3.24 sleep 600
docker container ls

Putem inspecta containerul fără să oprim procesul principal:

docker container top alpine-demo
docker container logs alpine-demo
docker container inspect alpine-demo
docker container exec -it alpine-demo sh

În shell-ul deschis prin exec, rulați hostname, apoi exit. Comanda exec pornește un proces nou într-un container deja pornit.

Oprire și ștergere​

docker container stop alpine-demo
docker container ls -a
docker container rm alpine-demo

Oprirea containerului nu îl șterge. După rm, stratul read/write al containerului dispare, dar imaginea alpine:3.24 rămâne disponibilă.

sugestie

Preferăm docker exec pentru inspectare. docker attach conectează terminalul la procesul principal al containerului și poate avea efecte neașteptate asupra acestuia.

Checkpoint​

  • imaginea și containerul sunt obiecte diferite
  • un container există cât timp este în execuție sau până când este șters explicit
  • --rm este util pentru containere temporare
  • --name ne permite să folosim un nume predictibil în locul ID-ului