iOSアプリやAndroidアプリなどのネイティブアプリの開発で、HTTP/HTTPSでWebサーバーと通信する処理を実装するとき、固定のデータが戻ってきて欲しいということは多々あります。
UnitテストとかならHTTPのモックを用意するのが良いですが、実装作業中は実際にHTTP/HTTPSで通信できさえすれば良いという場合が多いのではないでしょうか。
そのようなときに、便利なのがDockerです。DockerでNginxをコンテナ化して動かし、それと通信しながら実装すれば良いのです。
目次
実行方法
本当はnginxのオプションを設定したりするなど、他にもやった方が良いことはあります。しかし、アプリの実装でちょっと通信したいくらいのライトな使い方なら、以下の様な最低限の手順でも大丈夫だったりします。
やってみて、必要になったら、nginxの設定ファイルを追加するなどしましょう。
Dockerイメージの用意
次のようなDockerfileを作成します。
FROM nginx:1.17
Composerの定義
次のようなdocker-compose.ymlを作成します。
version: "3" services: nginx: build: . ports: - 8080:80 volumes: - ./content_home:/usr/share/nginx/html
Webサーバーに配置するファイルの作成
docker-compose.ymlやDockerfileと同じフォルダに、content_homeフォルダを作ります。content_homeフォルダがWebサーバーのルートディレクトリになるので、Webサーバーに配置したいファイルをcontent_homeフォルダに置きます。
サーバー起動
docker-compose.ymlファイルを置いたディレクトリで、次のコマンドを実行します。
$ docker-compose up -d
サーバーへの接続
次のURLで起動したサーバーにアクセスできます。
http://localhost:8080/
サーバーの停止
次のコマンドを実行します。
docker-compose stop
まとめ
Dockerを使うとParallels DesktopやVMWare、Virtual Boxで仮想PCを用意するよりも格段に手軽にテストサーバーを用意できます。
また、定義ファイルや配置するフォルダごとGitで管理できる点も非常に便利です。
POSTで接続するとHTTP STATUS 405 になってしまい、エラーになります。対応方法を書いた記事を公開しました。
投稿者プロフィール

最新の投稿
HowTo2022.02.13Ubuntu Server のシステム更新
書籍執筆2022.02.10ARKitの物理シミュレーション
書籍執筆2022.02.04ARKitでコリジョンとアニメーション
HowTo2022.01.30MayaからUSD, USDZを書き出す方法