Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
学ぶ カスタムイメージの実行 | Dockerイメージの操作
Docker Essentials

カスタムイメージの実行

メニューを表示するにはスワイプしてください

カスタムイメージからコンテナを実行

独自のカスタムイメージからコンテナを実行するには、docker run コマンドを使用します。イメージ名を指定し、必要に応じて実行中のコンテナに名前を付けることができます。

myapp:latest というイメージを作成した場合、次のコマンドでコンテナを起動します:

docker run myapp:latest

--name フラグを追加すると、コンテナに覚えやすい名前を付けることができ、管理が容易になります:

docker run --name my-running-app myapp:latest

さらに、-d フラグを追加することで、コンテナをバックグラウンド(デタッチドモード)で実行できます:

docker run -d --name my-running-app myapp:latest

docker run の主なオプション:

  • --name でカスタムコンテナ名を指定;
  • -d でデタッチドモードで実行;
  • image:tag(例: myapp:latest)でイメージとタグを指定。

コンテナに明確な名前を付け、適切なモードで実行することで、効果的な管理と監視が可能になります。

コンテナ実行時のポート公開とボリュームマウント

コンテナを実行する際、アプリケーションとのやり取りやデータの永続化のために、ポートの公開やボリュームのマウントが必要になることがよくあります。

ポート公開-p フラグで行い、ホストのポートとコンテナ内のポートをマッピングします:

  • -p <host_port>:<container_port> でポートをマッピング;
  • ホストからコンテナ内で動作するアプリケーションにアクセス;
  • 複数のコンテナを異なるホストポートで実行。

例えば、コンテナ内のポート80で動作するWebアプリケーションに、ホストのポート8080からアクセスする場合:

docker run -p 8080:80 myapp:latest

ボリュームのマウント では、ホストとコンテナ間でファイルを共有できます。-v フラグでソースとターゲットのディレクトリを指定します:

  • -v /host/path:/container/path でディレクトリをマウント;
  • コンテナで生成されたデータの永続化;
  • ホストとコンテナ間で設定ファイルやコードを共有。

コマンド例:

docker run -v /host/path:/container/path myapp:latest

オプションの組み合わせ: 名前付け、ポート公開、ボリュームマウントを同時に指定してコンテナを実行できます:

docker run -d --name my-running-app -p 8080:80 -v /host/data:/app/data myapp:latest

この方法により、アプリケーションの通信方法やデータの保存場所を柔軟に管理でき、実運用環境での展開に対応できます。

カスタムコンテナ起動時の一般的な問題のトラブルシューティング

カスタムコンテナが起動しない、または予期しない動作をする場合、以下の手順で原因を特定し解決します:

  • 次のコマンドでコンテナのログを確認:
  docker logs <container-name>
  • イメージが正常にビルドされているか、CMDENTRYPOINT または Dockerfile が正しいか確認;
  • 必要なポートがホスト上ですでに使用されていないか確認;
  • ボリュームをマウントする場合、ソースディレクトリが存在し、適切な権限があるか確認;
  • デバッグのために -it フラグを追加し、コマンドを上書きしてインタラクティブにコンテナを実行:
  docker run -it myapp:latest /bin/sh

これにより、コンテナの環境を直接確認し、問題の原因を調査できます。

question mark

docker run コマンドにおける --name フラグの目的は何ですか?

正しい答えを選んでください

すべて明確でしたか?

どのように改善できますか?

フィードバックありがとうございます!

セクション 2.  4

AIに質問する

expand

AIに質問する

ChatGPT

何でも質問するか、提案された質問の1つを試してチャットを始めてください

セクション 2.  4
some-alt