Criação do container da aplicação para avaliar o Docker Commit na prática:
$ pwd
/tmp/devops-conversao-temperatura/src
$ docker container ls -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
$ docker container run -it -p 8080:8080 ubuntu /bin/bash
root@46ad702f0dd8:/# node -v
Referência:
Instruções para instalação do NodeJS:
Instruções obtidas para instalação do Node.js 22.x no Ubuntu:
$ pwd
/tmp/devops-conversao-temperatura/src
$ docker container ls
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
46ad702f0dd8 ubuntu "/bin/bash" 6 minutes ago Up 6 minutes 0.0.0.0:8080->8080/tcp, :::8080->8080/tcp heuristic_cori
$ docker container cp . 46ad702f0dd8:/app
Successfully copied 20.9MB to 46ad702f0dd8:/app
root@46ad702f0dd8:/# pwd
/app
root@46ad702f0dd8:/# ls
Dockerfile config convert.js node_modules package-lock.json package.json server.js test views
root@46ad702f0dd8:/# npm install
root@46ad702f0dd8:/# node server.js
Servidor rodando na porta 8080
Docker Commit
Parar e remover o container para criação da imagem:
root@46ad702f0dd8:/# exit
$ docker container ls -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
46ad702f0dd8 ubuntu "/bin/bash" 11 minutes ago Exited (130) 17 seconds ago heuristic_cori
$ docker commit 46ad702f0dd8 conversao-temperatura
sha256:ad6bf598faaf5ee0df76116cc7fbb34f35b8dd5c4603e1a0be30ffbe850cae59
$ docker image ls
REPOSITORY TAG IMAGE ID CREATED SIZE
conversao-temperatura latest ad6bf598faaf 51 seconds ago 377MB
ubuntu latest 35a88802559d 2 months ago 78.1MB
$ docker container ls -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
46ad702f0dd8 ubuntu "/bin/bash" 13 minutes ago Exited (130) 2 minutes ago heuristic_cori
$ docker container rm 46ad702f0dd8
46ad702f0dd8
$ docker container ls -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
Criação da imagem
1. Sem passar comando
$ docker container run -it -p 8080:8080 conversao-temperatura /bin/bash
root@43ed3f1a1824:/# cd app/
root@43ed3f1a1824:/# node server.js
Servidor rodando na porta 8080
root@43ed3f1a1824:/app# exit
exit
2. Passando o comando
$ docker container run -d -p 8080:8080 conversao-temperatura node /app/server.js
ac5f754cd00bbab8327fc376a03518bb04036d1f666c61149d726c48854a10c5
$ docker container ls
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
ac5f754cd00b conversao-temperatura "node /app/server.js" 25 seconds ago Up 25 seconds 0.0.0.0:8080->8080/tcp, :::8080->8080/tcp hopeful_cerf