## 概要
この記事はHack and HHVM Advent Calendar 2018の23日目の記事になります。
連日@ytakeさんが、素晴らしい記事を上げてくれていますね。
今回はHHVMとHackについて興味がある自分が、Dockerで環境を作る話をしていこうと思います。
アドベントカレンダーの機会に入門していこうと思います。
環境構築
公式でDocker環境構築の手順があるので、それを参考にやってみます。
$ docker pull hhvm/hhvm
$ docker run --tty --interactive hhvm/hhvm:latest /bin/bash -l
# hhvm --version
HipHop VM 3.28.3 (rel)
Compiler: 1538421562_619401197
Repo schema: f2bcece3956424d62c386558e0a8e48a1de8e0b1
次にproxygen
で立ち上げてみます。
こちらも公式に手順があるので、その通りに進めていきます。
FROM hhvm/hhvm-proxygen:latest
RUN rm -rf /var/www
ADD . /var/www
EXPOSE 80
<?hh // strict
echo "Hello World";
docker build .
docker run -p 0.0.0.0:80:80 コンテナID
この状態でブラウザにアクセスすると、Hello World
が表示されます。
最後に
とまあ、「公式ドキュメントをやっただじゃん」みたいなエントリーになりましたが、ここに辿り着くまでにも結構時間がかかったんですよね…。
HHVM/Hackに関しては、検索してもなかなかいい記事が見つからないですし、自分はDockerの知識もなく…。
HHVM/Hackに関しては、詰まったときは公式ドキュメントを読むのと、@ytakeさんの投稿を見るのが良いです。
おまけ
HackでもComposerを使って、ライブラリのインストールを行います。
自分のPCにHHVMとComposerを入れてしまっても良いですが、個人的に気になるので、Dockerでインストールします。
こちらは困っていた際に、導入方法に迷っていた際に@ytakeさんから助けてもらい、導入することができました。
ありがとうございました!
つ https://t.co/hsjLEcSLzM
— Yuuki Takezawa@ytake (@ex_takezawa) 2018年12月18日
参考になるかわかりませんがどうぞ・・ docker配下
Dockerfileを下記のように変更します。
FROM hhvm/hhvm-proxygen:latest
RUN rm -rf /var/www \
&& cd '/' \
&& php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" \
&& php composer-setup.php \
&& php -r "unlink('composer-setup.php');" \
&& mv composer.phar /usr/local/bin/composer
ADD . /var/www
EXPOSE 80
これでOKです。
あとはコンテナをビルドし、sshで確認します。
$ docker build .
$ docker run --tty --interactive -v ホストディレクトリの絶対パス:/var/www/html コンテナID /bin/bash -l
# hhvm $(which composer)
______
/ ____/___ ____ ___ ____ ____ ________ _____
/ / / __ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___/
/ /___/ /_/ / / / / / / /_/ / /_/ (__ ) __/ /
\____/\____/_/ /_/ /_/ .___/\____/____/\___/_/
/_/
Composer version 1.8.0 2018-12-03 10:31:16
これでホストディレクトリに対して、Composerを使ったライブラリのインストールが出来るようになりました。
以上で終わります。
最後まで読んでいただきありがとうございました。