docker comunica-se com o docker daemon:


build, pull e run: cliente → daemon → registry.dockerdsyslogd, sshd, systemd, crond…dockerdocker run enviam, via API Docker, o comando correspondente ao dockerd.docker pull e docker push baixam e enviam imagens do/para o registro.
Templates read-only para criar containers.
Instâncias executáveis de uma imagem.
Containers escalados em uma swarm.
ubuntu.namespace / nome_da_imagem : tag

jupyter/minimal-notebook:latest — namespace jupyter, imagem minimal-notebook, tag latest.docker pull
$ docker pull jupyter/minimal-notebook:latest
latest: Pulling from jupyter/minimal-notebook
aece8493d397: Pull complete
fd92c719666c: Pull complete
088f11eb1e74: Pull complete
4f4fb700ef54: Pull complete
... (várias camadas) ...
Digest: sha256:1c4c8b6c7c27059c353d4e80523c2696e34723fde67d27418873ebeb42032551
Status: Downloaded newer image for jupyter/minimal-notebook:latest
docker.io/jupyter/minimal-notebook:latest
$ docker image ls # lista as imagens baixadas
REPOSITORY TAG IMAGE ID CREATED SIZE
welcome-to-docker latest 7a138ca1b41b 3 days ago 229MB
jupyter/minimal-notebook latest e75d34b8f32b 10 months ago 1.56GB
hello-world latest d2c94e258dcb 16 months ago 13.3kB
$ docker run jupyter/minimal-notebook:latest # CTRL+C para parar
$ docker run -p porta_host:porta_container namespace/imagem:tag
# exemplos
$ docker run -p 8888:8888 --name lab jupyter/minimal-notebook:latest
$ docker run -p 8888:8888 -v .\lab_data\:/home/jovyan/work jupyter/minimal-notebook:latest
Outros parâmetros: --name nome_container · -v path_host:path_container


FROM ubuntu:18.04
COPY . /app
RUN make /app
CMD python /app/app.py
FROM node:20-alpine
RUN mkdir /code
COPY . /code
WORKDIR /code
RUN yarn install
EXPOSE 8000
CMD [ "yarn", "dev", "-p", "8000" ]
$ docker build -t hello-world-docker .
Sending build context to Docker daemon 7.825MB
Step 1/7 : FROM node:20-alpine
---> bbb0e90a28e0
Step 2/7 : RUN mkdir /code
---> Using cache
---> cf16256b0f20
Step 3/7 : COPY . /code
---> 3669a4ec88f6
...
Step 7/7 : CMD [ "yarn", "dev", "-p", "8000" ]
Successfully built 3d68dcc2bd62
Successfully tagged hello-world-docker:latest
$ docker run -d -it -p 8000:8000 hello-world-docker
789f28254ac8a0c9bc3ec4f977acc9687e014b0c7de8f9b183d0a15d124c6498
-d executa em segundo plano (detached); a saída é o ID do container.
$ docker build -t nome_tag caminho_para_dockerfile
# exemplo
$ docker build -t fastapi_exemplo .
Crie o seu próprio Dockerfile, faça o build da imagem e suba o container.
Veja o link para o GitHub Classroom.