Macシステムの下でDockerでSwoole開発環境を構築する
2928 ワード
PHPを再定義するオープンソースフレームワークとして、SwooleはPHPをより多くのシーンに適用することができます.
あるPHPプログラマーにとって、Swooleを通じて、これまで接触したことのないプログラミング方法を知ることができます.
周知のように、開発環境を構築するのは実は面倒なことで、よくいろいろな問題に直面します.だから私はDockerでSwoole環境を構築して、このチュートリアルに従って、とても簡単にSwooleの旅を始めることができます.
まずDockerをインストールします.公式サイトには詳細なインストール手順があります.https://docs.docker.com/mac/step_one/
Macユーザーは上記のURLを参考にすればよい.他のシステムのユーザーにとって、公式サイトには対応する方法があります.ここでは詳しくは言わない.
以下の手順もMacシステムに基づいて行います.
インストールが完了するとLaunchpadでDocker Quickstart Terminalという名前のアプリが表示され、クリックするとシステムのデフォルトの端末が開き、しばらくするとクジラの画像が表示されます.
端末のヒントに注意してください.
このIPアドレスを覚えておいてください.コンテナにアクセスするときに使います.
Dockerが実行されていることを確認するには、開いている端末に次のコマンドを入力します.
Dockerが正しく動作していない場合は、次のエラーメッセージが表示されます.
Dockerが正しく動作していることを確認したら、次のコマンドを入力してswooleミラーを取得します.
このミラーはphp:5.6-cliに基づくミラー構築であり、swooleの最新バージョン1.8を含む.4、デフォルトでは次のコンパイルパラメータを使用してコンパイルされています.
swooleのコンパイルパラメータの説明:http://wiki.swoole.com/wiki/page/437.html
このミラーのDockerfileはオープンソースで、カスタム環境を構築する必要がある友達は私のDockerfileファイルを参考にして修正することができます:Github
ミラーをダウンロードすると、コンテナを実行してSwoole環境に入ることができます.
コマンドを入力:
その後容器内に入ります.
再入力:
出力1.8が見える.4、つまり現在のswooleのバージョン番号です.
これによりDockerによって構築されたSwoole環境が得られます.
次に、コードと環境をミラー化して実行できます.次の例を参照してください.
ダウンロード後、ディレクトリに切り替え、直接実行
次にブラウザのアクセス先:http://192.168.99.100:8080/結果が見られるとともに,端末でもプログラム出力の内容が見られる.端末でCtrl+Cを使うと容器を抜けることができます.
192.168.99.100このIPは前述の端末提示のIPである
我々は非常に簡単なHTTPサービスを実行しています.コードはsrcフォルダの下にあります.
build.shスクリプトは、ミラーを構築し、コンテナを起動することです.
新しく構築されたミラーも簡単で、koolob/swoole-dockerに基づいて8080ポートを開放し、srcディレクトリの内容をミラー内にコピーし、コンテナの実行時にphpコードを実行します.
後でやるべきことはsrcのコードを修正しbuildを実行することです.shスクリプトを作成し、テストします.
これで、私たちのSwoole開発環境の構築が完了しました.
あるPHPプログラマーにとって、Swooleを通じて、これまで接触したことのないプログラミング方法を知ることができます.
周知のように、開発環境を構築するのは実は面倒なことで、よくいろいろな問題に直面します.だから私はDockerでSwoole環境を構築して、このチュートリアルに従って、とても簡単にSwooleの旅を始めることができます.
まずDockerをインストールします.公式サイトには詳細なインストール手順があります.https://docs.docker.com/mac/step_one/
Macユーザーは上記のURLを参考にすればよい.他のシステムのユーザーにとって、公式サイトには対応する方法があります.ここでは詳しくは言わない.
以下の手順もMacシステムに基づいて行います.
インストールが完了するとLaunchpadでDocker Quickstart Terminalという名前のアプリが表示され、クリックするとシステムのデフォルトの端末が開き、しばらくするとクジラの画像が表示されます.
端末のヒントに注意してください.
docker is configured to use the default machine with IP 192.168.99.100
このIPアドレスを覚えておいてください.コンテナにアクセスするときに使います.
Dockerが実行されていることを確認するには、開いている端末に次のコマンドを入力します.
docker images
Dockerが正しく動作していない場合は、次のエラーメッセージが表示されます.
Cannot connect to the Docker daemon. Is the docker daemon running on this host?
Dockerが正しく動作していることを確認したら、次のコマンドを入力してswooleミラーを取得します.
docker pull koolob/swoole-docker
このミラーはphp:5.6-cliに基づくミラー構築であり、swooleの最新バージョン1.8を含む.4、デフォルトでは次のコンパイルパラメータを使用してコンパイルされています.
--enable-async-redis
--enable-async-httpclient
--enable-openssl
--enable-jemalloc
swooleのコンパイルパラメータの説明:http://wiki.swoole.com/wiki/page/437.html
このミラーのDockerfileはオープンソースで、カスタム環境を構築する必要がある友達は私のDockerfileファイルを参考にして修正することができます:Github
ミラーをダウンロードすると、コンテナを実行してSwoole環境に入ることができます.
コマンドを入力:
docker run -t -i koolob/swoole-docker /bin/bash
その後容器内に入ります.
再入力:
php -r 'echo swoole_version()."
";'
出力1.8が見える.4、つまり現在のswooleのバージョン番号です.
これによりDockerによって構築されたSwoole環境が得られます.
次に、コードと環境をミラー化して実行できます.次の例を参照してください.
git clone https://github.com/koolob/swoole-docker-example.git
ダウンロード後、ディレクトリに切り替え、直接実行
./build.sh
次にブラウザのアクセス先:http://192.168.99.100:8080/結果が見られるとともに,端末でもプログラム出力の内容が見られる.端末でCtrl+Cを使うと容器を抜けることができます.
192.168.99.100このIPは前述の端末提示のIPである
我々は非常に簡単なHTTPサービスを実行しています.コードはsrcフォルダの下にあります.
$serv = new swoole_http_server("0.0.0.0", 8080);
$serv->on('Request', function($request, $response) {
var_dump($request->get);
var_dump($request->post);
var_dump($request->cookie);
var_dump($request->files);
var_dump($request->header);
var_dump($request->server);
$response->cookie("User", "Swoole");
$response->header("X-Server", "Swoole");
$response->end("Hello Swoole!");
});
$serv->start();
build.shスクリプトは、ミラーを構築し、コンテナを起動することです.
新しく構築されたミラーも簡単で、koolob/swoole-dockerに基づいて8080ポートを開放し、srcディレクトリの内容をミラー内にコピーし、コンテナの実行時にphpコードを実行します.
後でやるべきことはsrcのコードを修正しbuildを実行することです.shスクリプトを作成し、テストします.
これで、私たちのSwoole開発環境の構築が完了しました.