ConoHa VPSでDockerを使う。アプリケーションの公開も試してみます。

ConoHa VPSでDockerって使えるの?

そんな疑問を解消するためにこの記事では、ConoHa VPSでDockerを使ってみます。

記事の内容
  • ConoHa VPSでDocker環境を作る方法
  • ConoHa VPSでDockerを使ってアプリケーションの公開

     ConoHa VPSでDockerを使ってアプリ公開してみた

    簡単にだけど、記事の中でConoHa VPSの中でDockerを使ってアプリケーションの公開をやっています。docker-composeでやっているから、同じようにアプリケーションを公開してみたい方は参考にしてみてください。

    ポイント
    ConoHa VPSの通常料金プランなら初期費用無料・最低利用期間なし・時間単位の従量課金制です。ちょっと使ってみてサーバー削除すれば数十円とか数百円で試すことができる。
    ConoHa VPSでDockerを使ってみよう

    ConoHa VPSでサーバーを再構築してDocker環境を整える

    ConoHa VPSではサーバーを構築する際にアプリケーションを選択すれば、そのアプリケーションをインストールしてくれるので今回はそのアプリケーションにDockerを選択します。

    Dockerテンプレート conoha vps

    サーバーを新規で立てる場合には上記のようにアプリケーションからDockerを選択するといいですよ。ただ今回は既に立てたサーバーを再構築してやります。
    まだ申し込んでいない場合はConoHa VPSから申し込むと最大1ヶ月無料で使える700円分クーポンがプレゼントされますよ。

    既に契約している場合はサーバーを再構築する

    新規契約時でもいいけど、既に作成しているサーバーがあるので再構築します。再構築はサーバーが停止している状態じゃないと使えないからシャットダウンさせる。

    停止したらネームタグをクリックしてサーバー再構築を選択。

    この時にアプリケーションタブを選択して、アプリケーションにDockerを選択します。

    rootパスワードやSSH Keyも設定しておきましょう。

    これで[サーバー再構築]をクリックしてちょっと待つとサーバーが構築されます。構築されたらSSH接続して中身をちょっとみてみよう。

    サーバーの中身を確認する

    サーバーが作成されたらSSH接続して中身を見てみます。

    OSはUbuntu

    OSを見てみるとUbuntuですね。

    Dockerのバージョン確認

    dockerのバージョンは20.10.3。

    docker-composeも入っている

    docker-composeも入っているのかな?って思ってみてみたら入っていました。

    今回はdocker-composeを使って後でアプリケーションを起動するっていうことを試してみます。

    ConoHa VPSでdocker run hello-worldを実行してみる

    以下コマンドを打ってHello World!!したいです。してみましょう。

    $ docker run hello-world

    ちゃんとimage落としてきてHello from Docker!と表示してくれていますね。

    DockerアプリケーションをConoHa VPSで動かしたい

    せっかくだからDockerで環境を作ったアプリケーションを動かしてみよう。docker-composeも入っていることだし、docker-comoseで作成したアプリケーションを動かしたい。

    これはローカルにあるアプリケーションなんだけど、Laravelアプリケーションを作るdocker-composeです。

    使用しているイメージは以下。

    使用しているimage
    • nginx
    • mysql
    • php:8-fpm

    Laravelアプリケーションを動かしているから、実際にConoHa VPSでLaravelアプリケーションが動いたら成功です。

    docker-composeでアプリケーションを動かす

    docker-composeでアプリケーションを動かしていくんだけど、手順としては以下。

    手順
    1. FTPソフトでローカルのDockerアプリケーションをアップロード
    2. ConoHa VPSにSSH接続してdocker-compose up

    アップロードしたらローカルでやっている作業をConoHa VPS上で行うだけです。やっていきましょう。

    FTPソフトでローカルのDockerアプリケーションをアップロード

    ローカルにあるDockerで環境を作成したアプリケーションをFTPソフトでアップロードします。FTPソフトはなんでもいいけど、この画面はCyberduckを使ってSFTP接続してアップロードしている画面。

    アップロードが完了したら早速そのアプリケーションを動かしてみたい。

    ConoHa VPSにSSH接続してdocker-compose up

    SSH接続してdocker-compose upしてみます。

    普通に実行できますね。そしたらIPアドレス:8000にアクセスしてみるとエラー。

    storageへの権限がないようなのであげておきます。

    $ chmod -R 777 storage/

    そしたら再度ブラウザからアクセスしてみると画面が出ました。(初期画面は何もいじっていないので、Laravelの初期ページが表示されます。)

    DBからデータを取得しているページを確認

    DBからデータを取得して表示しているページにアクセスしてみるとエラーですね。

    migrateしてないのでmigrateします。

    $ docker exec -it アプリケーションのコンテナID bash
    $ php artisan migrate

    ちゃんとテーブル作成されていますね。mysqlのコンテナに入って適当にデータを入れておきます。

    $ docker exec -it mysqlのコンテナID bash
    $ mysql -uroot -p
    $ use データベース名;
    $ insert into テーブル名 (カラム名) values ("挿入したい値");

    これで画面を見てみるとちゃんとデータが反映されました。

    Docker使えるとやっぱり良いですよね。

    まとめ - ConoHa VPS × Docker

    ConoHa VPSでサーバー構築の際にDocker選んでDockerで環境を作成したLaravelアプリケーションを試してみたけど、結構簡単にできました。ローカルでDocker使って開発しているなら同じような流れでConoHa VPS上でも行える。

    今回試してみたことは以下です。

    今回やったこと
    1. ConoHa VPSでサーバー構築時にDockerを選択
    2. FTPソフトでローカルにあるdocker-composeで作成したアプリケーションをアップロード
    3. migrationを実行
    4. docker-compose upで起動

    VPSでDocker使いたかったらConoHa VPS良いですよ。