1
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

VMサーバーをコンテナに移行する計画

Last updated at Posted at 2020-08-12

これはそろそろDockerを使えるようになりたい筆者の試行錯誤の軌跡です。

VMからコンテナへ

現在、完全に自分だけのためではありますが、複数サービス運用のためローカルマシンのVMで作ったサーバー3台を運用しています。

Untitled(1) (6).png

  • Deploy:コンテンツ配信用
  • Resource:プライベートクラウドストレージ
  • Develop:ソースコード管理

Deployで配信するコンテンツには以下の種類があります。

  • 通常通り/var/www/html配下にファイルを配置し配信するもの(以下、web root)
  • 音楽や動画を配信するメディアストリーミング
  • Djangoアプリケーション
  • Node.jsアプリケーション

それらのうち、DjangoアプリケーションとNode.jsアプリケーションはバーチャルホストとしてサブドメインを割り当てています。
上記アプリケーションに加えて、Resourceのowncloud、Developのgitlabも、バーチャルホストとしてサブドメインでDeployから配信しています。

これらをDockerに移植していこうという計画を立てます。
理由は単純で、そろそろDockerを使えるようになりたいからです。
探り探りではありますが、少しずつ進めていきたいので、その軌跡を残そうという記事です。

以下のような完成形をイメージしています。
(コンテナ初心者です。構成の甘さとかベストプラクティスとかあればご教示ください。)

Untitled(2) (2).png

よくある「プロセス単位でコンテナを作成」っていう説明がなかなか理解できなかったのですが、
具体的にどう切り分ければコンテナとして扱いやすいかを考えると、すんなり理解できました。

とりあえずDockerを準備

一気にやってしまう時間を確保するのが難しいので、少しずつ進められるようにとりあえずDockerを使えるようにし、VMと共存させます。
Docker起動に必要なHyper-VとVirtualBoxが共存できない問題がありましたが、VirtualBoxを6.1系にアップデートすると共存できました。
以下のような構成が当面の目標です。

Untitled(3) (1).png

画像のようにnginxのコンテナを起動し、VMにリバースプロキシするよう設定し、http系のアクセスがVMからコンテナに向くよう変更しました。
が、つながりませんでした。
ブラウザにはERR_SSL_PROTOCOL_ERRORと表示されており、コンテナのnginxは文字化けしていて解読できませんでした。

移行計画、不穏な幕開けです。

次回:DockerでVMへのリバースプロキシ

1
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?