続いてイメージの更新について調べていく
アプリケーションの更新
作業ディレクトリ:getting-started/app
ソースコードの更新
Todoアプリの表示メッセージを更新する
getting-started/app/src/static/js/app.js
上記の56行目を更新する
No items yet! Add one above!
↓
見せられないよ!
以下のコマンドでコンテナを停止
docker stop <CONTAINER ID>
さらにコンテナを削除
docker rm <CONTAINER ID>
ちゃんとコンテナが削除されているか確認
docker ps -a
削除されていれば、対象のコンテナデータが消えている
以下のコマンドでイメージを再構築
docker build -t getting-started .
[+] Building 2.7s (11/11) FINISHED docker:default
=> [internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 186B 0.0s
=> resolve image config for docker-image://docker.io/docker/dockerfile:1 1.5s
=> CACHED docker-image://docker.io/docker/dockerfile:1@sha256:9857836c9ee4268391bb5b09f9f157f3c91bb15821bb77969642813b0d00518d 0.0s
=> [internal] load metadata for docker.io/library/node:18-alpine 0.8s
=> [internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [1/4] FROM docker.io/library/node:18-alpine@sha256:8d6421d663b4c28fd3ebc498332f249011d118945588d0a35cb9bc4b8ca09d9e 0.0s
=> [internal] load build context 0.2s
=> => transferring context: 2.49kB 0.2s
=> CACHED [2/4] WORKDIR /app 0.0s
=> CACHED [3/4] COPY . . 0.0s
=> CACHED [4/4] RUN yarn install --production 0.0s
=> exporting to image 0.0s
=> => exporting layers 0.0s
=> => writing image sha256:8ac9c91fde3ede07a57715c4f5db58e4ce17f1edb0383ba31297d3027202b2c7 0.0s
=> => naming to docker.io/library/getting-started
イメージが作成されているか確かめる
docker images
項目 | ステータス |
---|---|
REPOSITORY | getting-started |
TAG | latest |
IMAGE ID | 8ac9c91fde3e |
CREATED | 6 minutes ago |
SIZE | 217MB |
できた
コンテナを起動する
docker run -dp 127.0.0.1:3000:3000 getting-started
項目 | ステータス |
---|---|
CONTAINER ID | b0d719f1b713 |
IMAGE | getting-started |
COMMAND | “docker-entrypoint.s…” |
CREATED | 8 seconds ago |
STATUS | Up 7 seconds |
PORTS | 127.0.0.1:3000->3000/tcp |
NAMES | fervent_beaver |
起動したので、以下から確認してみる http://localhost:3000/
おお、更新されている
流れとしては
コンテナの停止・削除
※rmコマンドに-fオプションを付けることで、停止と削除が合わせてできるらしい
docker rm -f <CONTAINER ID>
その後、イメージの再作成とコンテナの起動が必要ということか
次はデータの保持について調べていきたいと思う
コメント