前回はDockerコンテナで開いているポートをホスト側から取得する方法を解説しました。
今回はそれをスクリプトにしてみました。あまり汎用とは言い難いのですが、ご参考までに。
前回はDockerコンテナで開いているポートをホスト側から取得する方法を解説しました。
今回はそれをスクリプトにしてみました。あまり汎用とは言い難いのですが、ご参考までに。
昨今では誰もが使用するLinuxコンテナ、中でもDockerは初心者でも知っているほど有名です。しかし、Dockerで開いているポートって実は調べようとすると結構面倒くさいですよね。コンテナにexec
でshellを開いてss -ltn
しても、コンテナには通常ss
やnetstat
なんて入っていないわけです。
コンテナと言ってもイメージはどうせdebian系列かalpineなんだからとapt
やらapk
やら叩いてインストールすればss
やnetstat
も使えるでしょう。しかし次にコンテナ起動したときには消えてます。かといってイメージに入れたくもないのです。
ではどうするか?
コンテナで分からないならホストで調べてみます
当サイトの記事内ではdockerの管理には現状docker-composeを利用しており、コンテナへの設定受け渡しには原則環境変数を使用しています。しかし環境変数によるパスワードなどの受け渡しは推奨されていないという記事を最近では結構見かけます。代替するものとして、今回はdocker secretsを使用する方法を少し書いておきます(と言ってもdocker-composeのfake secrets)。
前回
に引き続き、VALUE SERVERからConoHa VPSに移行して動かなくなってたところを直していきます。今回はコレですね。
bottleです。Hello, worldしただけなんですけどね。VALUE SERVERではpython3自体がインストールされていたので、Apacheのmod_cgiを使い、CGIでpythonを起動して動かしていました。
これを今回はdockerコンテナ上のnginxからWSGIで別のdockerコンテナ上のpythonに繋ぎ、bottleを動かします。まあ最近bottle聞かなくなりましたけど。。。
前回はdockerコンテナの起動・停止を独立してできるようにしたので、
今回は新しいコンテナでgitを動かしてみます。
VALUE SERVERはレンタル共有サーバーであり、まともに動くのはPHPだけでした。バージョンは多少古いもののgitコマンドも元から入っており、この組み合わせでgitリポジトリをセルフホストするなら、gitコマンドを必要とし、PHPで動作するgitlistは最適だったと思います。
しかしConoHa VPSに移行しPHP縛りという呪いから開放された現在、同じgitlistで満足してていいのか?と自問した結果、以下の3択ではないかとの結論に至りました。
VPSがメモリ1Gでなければ迷わず3なのですが、その気になればプルリクエストが出来たり認証手段も豊富な高機能gitリポジトリセルフホスティングアプリはメモリ消費量が格段に多いのです。giteaはgoで書かれ、Raspberry Piでも動く軽量アプリというのが売りなのですが、それでも何もしてなくてもRSSが150MBほどなわけです。PHPや他のプロセスが50MB程度で顔デカイと思われてる中、その3倍の幅で鎮座しちゃってるのです。しかも仮想メモリVSZを見るとこの人1GBほど使ってて、もう無理!とほぼ諦めてGitWebを調べ始めてたのですが、、、こないだpsコマンドやらtopコマンドやら/procやらで消費メモリをいろいろ見た結果、仮想メモリは障らなければ恐るるに足らずということが分かったため、
一度gitea試してみることになり、今回の設置と相成りました。
最近は少しメモリ関連の記事を書いていましたが、この記事はそれとは直接関係なく、以下のサーバー運用系の記事の続きになります。
前回最後に、「VALUE SERVER→ConoHa VPS移行作業で漏れた部分」をやっていくということにしてました。まずはgit関連のアプリ追加などを行いたいので、今回はWebとデータベースとアプリを個別に起動/停止できるよう、docker-compose.ymlファイルを分離してみます。
前回はdockerのnginxを使ってhttpsで公開できるようにしました。
今回はdockerを使ってWordPressをhttpsで公開できるようにしてみます。
前回はLet’s EncryptでSSL証明書を取得しました。
今回はいよいよhttpsでWebサーバーを立ててみます。
前回はdockerを使ったプロキシサーバーを立ててみました。
今回はいよいよhttpsに必要なSSL証明書の取得に取り組みます。
前回までにdockerを動かせるまでになりました。
今回はdockerで試しにプロキシサーバーを立ててみようと思います。