LoginSignup
0
2

More than 1 year has passed since last update.

DockerコンテナにDockerfileの変更が反映されない

Posted at

はじめに

現在、Web系自社開発企業への転職を目標にポートフォリオを作成中。
Dockerを活用してLEMP環境を構築し、Laravel+VuejsでWebアプリケーションの開発を行っております。
Dockerコンテナのnode.jsのバージョンを変更させるために、Dockerfileを編集した際に
Dockerfileの変更がコンテナに反映されないという問題で少しつまづいたので、記録として残します。

目次

  1. やりたいこと
  2. やったこと
  3. 原因
  4. 解説
  5. 解決策
  6. 参考文献

やりたいこと

Dockerfileを編集して、DockerコンテナのNode.jsのバージョンを変更したい

やったこと

Dockerfileを編集

変更前

Dockerfile
# install Node.js
COPY --from=node:10.22 /usr/local/bin /usr/local/bin
COPY --from=node:10.22 /usr/local/lib /usr/local/lib

変更後

Dockerfile
# install Node.js
COPY --from=node:16.13 /usr/local/bin /usr/local/bin
COPY --from=node:16.13 /usr/local/lib /usr/local/lib

コンテナの停止

docker compose stop

コンテナの作成・起動

docker compose up -d

Node.jsのバージョンを確認

docker compose exec app node -v
v10.22.0

Dockerfileの変更が反映されなかった

原因

Dockerfileを変更する前のイメージを参考にしてDockerコンテナを作成、起動したから

解説

DockerコンテナはDockerイメージを参考にして作成される
そして、このDockerイメージはDockerfileを参考にして作成されるため
Dockerfileの変更をDockerコンテナに反映させるためには、Dockerイメージの作成から実行する必要がある

解決策

buildしてDockerイメージを作成

docker compose build

Dockerコンテナを作成、起動

docker compose up -d

Node.jsのバージョンを確認

docker compose exec app node -v
v16.13.0

無事、Dockerfileの変更がコンテナに反映された

参考文献

0
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
2