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を使う方法としては以下です。

    ConoHa VPSでDockerを使う方法
    • Dockerをコマンドを打ってインストールする
    • Dockerテンプレートを使う

      立てたサーバーに入ってDockerをインストールするコマンドを打ってインストールするか、用意されているDockerテンプレートを使うかです。

      Dockerテンプレートとは

      ConoHa VPSには多くのテンプレートが用意されていて、サーバー構築時にそれを選択するだけで使うことのできる環境が出来上がります。

      テンプレート例
      • Laravel
      • Node.js
      • Ruby on Rails
      • ・・・

      サーバーを立てたらすぐに選択したものを使うことができる環境になっているので、手っ取り早く作成したい時には楽です。

      ConoHa VPSでDockerテンプレートを使う

      ここからはConoHa VPSでの作業に入ります。使用するプランや申し込み方法が分からなければ以下の記事で解説しているので、よかったらどうぞ。

      既に契約している場合は管理画面にログインして進めましょう。

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

      Dockerテンプレート conoha vps

      サーバーを新規で立てる場合には上記のようにアプリケーションからDockerを選択するといいですよ

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

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

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

      この時にアプリケーションタブを選択して、アプリケーションに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安く使えるし悪くない。