Closed KEINOS closed 4 years ago
Docker採用案に👍
私も最近Vagrant使い始めたのですが、(Win10HomeでDockerするのは難しくて挫折しました…)仮想環境はアプリ相互に干渉せず、かつリストアが簡単なので支持します。
本当にやりたいことはbot作成+αなので、鯖缶に頭を悩ませることを減らせるなら減らして行く方向でいいと考えます。
【相談】
現在 OS を CoreOS、RancherOS と BargeOS で悩んでいます。
クラスタとかも組む予定はなく、シングル・サーバーで Docker 専用 OS であれば何でもいいのですが、、、
GitHub からの WebHook が届いたら、git pull origin master
されて、メインの docker-compose.yml が再構築される程度のシンプルな構成にしたいと考えています。
以下の挙動を考えた場合、どの OS を使うのが楽ですかね。
1機能(サービス)1Dockerfile 1リポジトリで完結。
メインの docker-compose.yml
は、各サービスごとに git リポジトリをビルドするだけ
下記は my_service1
のコンテナからは my_service2
に http://my_service2/
でアクセスできる。
version: "3"
volumes:
data_qiita_items:
services:
my_service1:
build:
context: https://github.com/Qithub-BOT/my_service1.git
volumes:
- "data_qiita_items:/data"
container_name: my_service1
my_service2:
build:
context: https://github.com/Qithub-BOT/my_service2.git
volumes:
- "data_qiita_items:/data"
container_name: my_service2
https://qithub.gq/<サービス名>/
のアクセスは nginx-proxy コンテナ経由で同じ Docker ネットワーク内の http://<サービス名>/
に転送@KEINOS Docker周りは不勉強なので、今しがたざっと公式とQiitaを眺めただけの知識ですが、各ディストリビューションの特徴は以下のようなものだと把握しています。
ディストリビューション | 特徴 |
---|---|
CoreOS | POSIX互換機能が使える。Red Hatと絡みあり |
RancherOS | 基本機能もDockerに格納し、docker-compose も Docker内から行う。Docker以外の機能を限界までオミット。Web UIあり |
BargeOS | Vagrantでも仮想化ができる |
上記特徴を考慮すると、
という印象です。
ので、Vagrant派の私としてはBargeOSを押したいところですが、POSIX互換機能が使えるという点ではCoreOSがイチ押しです。 もうDocker以外OSの機能は触らないぜ! という覚悟があるならRancherOSもありですが、そうは問屋が卸してくれそうにありません…
CoreOS でどうでしょうか。
CoreOS でどうでしょうか。
これにしますか。Core だけに。
@KEINOS https://qiitadon.com/@KEINOS/103507403413926783 より抜粋:
VPS の Fedora CoreOS 化、VirtualBOX で予行練習もしたのに、実際に作業を始めると肝心の VPS > 側が予定通りの動きをしてくれない。😭
公式ドキュメントも Qiita 記事も古い情報ばかりだ。うーむ...🤔
情報がポンポン変わるから人柱になって記事に書く気力もナッシング。そら記事も古いものばかりになるわけだ。どうしたものか。
鯖缶の手間を減らすための CoreOS 採用だったはずなのに、そこでお手をわずらわせるのは大変アレです。
なので、いっそのことサーバ OS は CentOS に戻し、勝手のわかっている CentOS 上で Docker 使えばいいのではないでしょうか。
CentOS を最小構成を更地で作り直し、そこで Docker するのが確実かなー、と思ったりする次第です。 いかがでしょう?
@hidao80 CentOS を最小構成を更地で作り直し、そこで Docker するのが確実かなー、と思ったりする次第です。
結論から言うと、アドバイス通り CentOS を最小構成を更地で作り直し、そこで Docker することにしました。
RancherOS も試してみましたが、結局勝手がわからないので、意外なほど好き勝手できないのと、トラブルシューティングが難しくなると感じたからです。
なので、「CentOS + Docker ベースにする」ということで Close したいと思います。
相談
サーバーの OS を CentOS から CoreOS に変更して、各種機能の実装を Docker ベースにしたい。
自分の案
現在のサーバーの構成は煩雑で、仕様も複雑な気がします。開発がしづらいと感じます。
そもそも現在のサーバーは Wordpress を動かしていた環境を引き継いだため、CentOS + Kusanagi + HHVM ベースで動かしていました。しかし、Wordpress 使っていない+ HHVM 互換を考えるのが面倒 + HHVM が PHP の扱いを止めなどの理由もあり、普通に PHP7 で動かしたいと感じるようになりました。
つまりは、サーバーの構成を KISS したいのです。
そこで OS を、至極シンプルな構成の CoreOS 社の ContainerLinux(旧CoreOS)に変えて、Docker で機能追加する方が良いのではと感じています。
これにより、OS 側で必要なライブラリを用意しなくても、サービス毎に Docker イメージ(or Dockerfile)を用意すれば開発も環境依存せずにドッカンドッカン作れるのでは、と。
理想のイメージとしては、Nginx-proxy を 80/443 ポートの窓口にして、各々のサービスのコンテナにクエリを渡して返すだけの API に特化した構成が良いと考えています。
年末の年越しでできればと考えています。ご意見、ご要望お待ちしていまーす。
補足
実のところ Minecraft のサーバーを建てたいと思ったのですが、依存の検証やリカバリーを考えると Docker のコンテナで導入した方が楽じゃないかというところから始まっているのですが。
TL;DR(結論 2020/01/20 現在)