6

Windows を使用しており、boot2docker がインストールされています。Docker ハブからイメージをダウンロードし、基本的なコマンドを実行しました。しかし、ローカルマシンにある既存のアプリケーションをどのように取得しますか(index.php簡単にするために、ファイルが1つあるとしましょう)。それを取得してdockerイメージに入れて実行するにはどうすればよいですか?

4

4 に答える 4

10

index.php は実際にはアプリケーションではありません。アプリケーションは、Apache や nginx、さらには PHP 独自のサーバーです。

Docker は Windows コアでは利用できない機能を使用するため、実際の仮想マシン内で実行しています。その唯一の目的は、実際のサーバー環境のトレーニングまたはイメージの準備です。

Docker について理解する必要がある主な概念は、イメージとコンテナーの 2 つです。

画像は、レイヤーで構成されるテンプレートです。各レイヤーには、前のレイヤーと一部のオフライン システム情報との違いのみが含まれます。各レイヤーは実際には画像です。Dockerfileの FROM ディレクティブを使用して、常に既存のベースからイメージを作成する必要があります(編集時にドキュメントを参照してください。Jan Vladimir Mostert のリンクは 404 になりました)。

コンテナーは、実行済みまたは現在実行中のイメージのインスタンスです。コンテナーを作成する (イメージを実行する) ときに、内部ディレクトリをコンテナーから外部にマップできます。両方の場所にファイルがある場合、外部ディレクトリがイメージ内のディレクトリを上書きしますが、それらのファイルは失われません。それらを回復するには、コンテナーをイメージにコミットし (できれば停止した後)、そのディレクトリをマッピングせずに、新しいイメージから新しいコンテナーを起動します。

于 2014-08-25T21:14:36.083 に答える
2

最初にdockerFileを使用してdockerイメージを構築する必要があります。おそらくそれにapacheをセットアップし、dockerFileにindex.phpファイルをapacheにコピーしてポートを公開するように指示します。

http://docs.docker.com/reference/builder/を参照してください。

Dockerファイルの例については、私の他の質問を参照してください: Docker イメージ内のユーザーを非ルート ユーザーに切り替える(これは、.php ファイルを apache にコピーするのと同様に、.war ファイルを tomcat にコピーするためのものです)

于 2014-08-25T20:15:30.030 に答える