Windows を使用しており、boot2docker がインストールされています。Docker ハブからイメージをダウンロードし、基本的なコマンドを実行しました。しかし、ローカルマシンにある既存のアプリケーションをどのように取得しますか(index.php
簡単にするために、ファイルが1つあるとしましょう)。それを取得してdockerイメージに入れて実行するにはどうすればよいですか?
4 に答える
index.php は実際にはアプリケーションではありません。アプリケーションは、Apache や nginx、さらには PHP 独自のサーバーです。
Docker は Windows コアでは利用できない機能を使用するため、実際の仮想マシン内で実行しています。その唯一の目的は、実際のサーバー環境のトレーニングまたはイメージの準備です。
Docker について理解する必要がある主な概念は、イメージとコンテナーの 2 つです。
画像は、レイヤーで構成されるテンプレートです。各レイヤーには、前のレイヤーと一部のオフライン システム情報との違いのみが含まれます。各レイヤーは実際には画像です。Dockerfileの FROM ディレクティブを使用して、常に既存のベースからイメージを作成する必要があります(編集時にドキュメントを参照してください。Jan Vladimir Mostert のリンクは 404 になりました)。
コンテナーは、実行済みまたは現在実行中のイメージのインスタンスです。コンテナーを作成する (イメージを実行する) ときに、内部ディレクトリをコンテナーから外部にマップできます。両方の場所にファイルがある場合、外部ディレクトリがイメージ内のディレクトリを上書きしますが、それらのファイルは失われません。それらを回復するには、コンテナーをイメージにコミットし (できれば停止した後)、そのディレクトリをマッピングせずに、新しいイメージから新しいコンテナーを起動します。
最初にdockerFileを使用してdockerイメージを構築する必要があります。おそらくそれにapacheをセットアップし、dockerFileにindex.phpファイルをapacheにコピーしてポートを公開するように指示します。
http://docs.docker.com/reference/builder/を参照してください。
Dockerファイルの例については、私の他の質問を参照してください: Docker イメージ内のユーザーを非ルート ユーザーに切り替える(これは、.php ファイルを apache にコピーするのと同様に、.war ファイルを tomcat にコピーするためのものです)