Atualização da aplicação
Edição do header:
/tmp/devops-kube-news/src/views/partial$ ls
footer.ejs header.ejs
/tmp/devops-kube-news/src/views/partial$ vim header.ejs
/tmp/devops-kube-news/src/views/partial$ cat header.ejs
<header class="header">
<div class="header__container">
<a href="/">
<img class="logo" src="/img/kubenews-logo.svg" alt="Kubenews" srcset="" />
</a>
<a class="header__button" href="/post">Novo Post - v2</a>
</div>
</header>
Reconstrução da imagem:
/tmp/devops-kube-news/src$ docker build \
-t marcelodpbarbieri/kube-news:v2 \
-f Dockerfile \
.
[+] Building 4.1s (10/10) FINISHED docker:default
=> [internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 163B 0.0s
=> [internal] load metadata for docker.io/library/node:20.10.0-alpine3. 1.0s
=> [internal] load .dockerignore 0.0s
=> => transferring context: 80B 0.0s
=> [1/5] FROM docker.io/library/node:20.10.0-alpine3.18@sha256:32427bc0 0.0s
=> CACHED [2/5] WORKDIR /app 0.0s
=> [internal] load build context 0.0s
=> => transferring context: 862B 0.0s
=> CACHED [3/5] COPY package*.json . 0.0s
=> CACHED [4/5] RUN npm install 2.6s
=> [5/5] COPY . . 0.0s
=> exporting to image 0.3s
=> => exporting layers 0.3s
=> => writing image sha256:64f4ed27fa87cb9c0b9efd9fb3c8e582df0778d9e668 0.0s
=> => naming to docker.io/marcelodpbarbieri/kube-news:v2 0.0s
Criação da tag latest também:
$ docker tag marcelodpbarbieri/ku
be-news:v2 marcelodpbarbieri/kube-news:latest
$ docker image ls
REPOSITORY TAG IMAGE ID CREATED SIZE
marcelodpbarbieri/kube-news latest 64f4ed27fa87 2 minutes ago 169MB
marcelodpbarbieri/kube-news v2 64f4ed27fa87 2 minutes ago 169MB
marcelodpbarbieri/kube-news v1 522e75b2d4b5 11 hours ago 169MB
...
Carregamento das imagens no Docker Registry:
$ docker push marcelodpbarbieri/kube-news:v2
The push refers to repository [docker.io/marcelodpbarbieri/kube-news]
de357190afb4: Pushed
847c0319ce33: Pushed
a0acd461991e: Pushed
17e7f2d94c8f: Layer already exists
e6e17c0d72ff: Layer already exists
177e8671cea0: Layer already exists
0836ffd7c491: Layer already exists
9fe9a137fd00: Layer already exists
v2: digest: sha256:0d39cc865bb5b61a6ef9ea87fbd05083eb12a8b9398ae64900d71995043501ec size: 1996
$ docker push marcelodpbarbieri/kube-news:latest
The push refers to repository [docker.io/marcelodpbarbieri/kube-news]
de357190afb4: Layer already exists
847c0319ce33: Layer already exists
a0acd461991e: Layer already exists
17e7f2d94c8f: Layer already exists
e6e17c0d72ff: Layer already exists
177e8671cea0: Layer already exists
0836ffd7c491: Layer already exists
9fe9a137fd00: Layer already exists
latest: digest: sha256:0d39cc865bb5b61a6ef9ea87fbd05083eb12a8b9398ae64900d71995043501ec size: 1996
Execução do container com a versão 2 da imagem:
COMMAND CREATED STATUS PORTS NAMES
be896fd76b63 marcelodpbarbieri/kube-news:v1 "docker-entrypoint.s…" 40 minutes ago Up 40 minutes 0.0.0.0:8080->8080/tcp, :::8080->8080/tcp crazy_mcclintock
d05071c8b7c0 postgres:13.16 "docker-entrypoint.s…" 53 minutes ago Up 53 minutes 0.0.0.0:5432->5432/tcp, :::5432->5432/tcp kube-news-db
$ docker container rm -f be896fd7
6b63be896fd76b63
$ docker container run -d -p 8080:8080 \
-e DB_DATABASE=kube-news \
-e DB_USERNAME=kube-news \
-e DB_PASSWORD=kube-news \
-e DB_HOST=kube-news-db \
--network kube-news \
marcelodpbarbieri/kube-news:v2
e15fcb6afb548eb9cc74a097bd670e3576703f6e4bd6596f84148779117d64a4
$ docker container ls
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
e15fcb6afb54 marcelodpbarbieri/kube-news:v2 "docker-entrypoint.s…" 50 seconds ago Up 49 seconds 0.0.0.0:8080->8080/tcp, :::8080->8080/tcp upbeat_gates
d05071c8b7c0 postgres:13.16 "docker-entrypoint.s…" 55 minutes ago Up 55 minutes 0.0.0.0:5432->5432/tcp, :::5432->5432/tcp kube-news-db
Botão com o título "NOVO POST -V2"
Last updated