はじめに
仕事の関係でメールサーバ、メールクライアント、ファイルサーバを利用して検証する必要が出てきました。
ちょうど今はDockerの勉強していますので、リソース消費や工数と可搬性を考慮するとコンテナで構築しようと決めました。
⭐️コンテナの構築対象:メールサーバ
個人の検証PCに入れるもの:メールクライアント
ありもの:ファイルサーバ
Dockerインストール
まずは自分のRaspberrypiの中の、Ubuntuの中に、Dockerを入れます。
この前購入した『仕組みと使い方がわかる Docker&Kubernetesのきほんのきほん』のP307〜P310を参照にしてUbuntu用のDockerを入れました。
手順は以下です:
1.必要なソフトウェアをインストール(うまくいかない場合は個別でインストール)
sudo apt-get install apt-transport-https ce-certificates curl gnupg-agent software-properties-common
2.PGPキーを追加
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
3.フィンガープリントの確認
sudo apt-key fingerprint 0EBFCD88
4.リポジトリに追加
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/debian $(lsb_release -cs) stable"
5.リポジトリの更新(途中で404エラー発生することがありますが、問題ありません)
sudo apt-get update
6.Docker本体をインストール
sudo apt install docker.io
7.管理者以外でも利用できるように設定
sudo usermod -aG docker &USER
8.インストールの確認(インストールされているのであれば、もちろんバージョンはちゃんと表示されます)
docker --version
メールサーバの構築
docker-composeでメールサーバ構築
参照:https://karakunphoto.com/development/server/1509/
上記のリンク通りではうまく行かないポイント:
・弄るファイルの名前は「docker-compose.yml」ではなく「compose.yml」です。
・versionを変更する必要はないし、追加も不要です。ドメイン名だけ変更すればいいです。
・docker composeをupさせる前に、aptでdocker-composeをインストール必要があります。
sudo apt install docker-compose
下記のコマンドで生成されたコンテナの状態などを確認できます。
sudo docker ps -a
メールアドレスを登録
検証ユーザーメールアカウントを登録します。
$ ./setup.sh email add mymail@yourdomain.com mypassword
Dkimも設定(今後のために設定)
sudo ./setup.sh config dkim
メールサーバ再起動
sudo docker restart mailserver
メールクライアントの準備
メールクライアントとして、検証者のPC(WidnowsやMac)にThunderbirdを設定してもらいます。ちなみに、自分のMacにも入れました。
アカウント設定に関してはこちらの記事をご参照ください。
ローカルでメールの送受信ができました!
ファイルサーバ
既にこのRaspberrypiに入っています。コンテナの形ではないですが、事前にホストのUbuntuの中にSambaをインストールしてファイルサーバとして動かしています。
MacからSambaサーバに接続する場合は、デスクトップ上やFinder上でキーボードの[Command(⌘)]キーを押しながら[K]キーを押すと、「サーバへ接続」ウィンドウが出現します。 UbuntuサーバのIPとユーザーとパスワードを入れればアクセスできます。
ファイル(Samba)サーバの構築について、ご興味がある方はこちらの記事をご参照ください。
感想
コンテナはやっぱり手軽で、導入しやすいです。
仮想マシンよりは倍以上早くサーバを構築できる感じがします。
予告
コンテナやK8sの勉強日記もこれから投稿する予定です。
そしてSSHリバースポートフォワードも楽しみに待ってください!
終わりに
最後まで読んでいただき、ありがとうございました。ご参考になれば幸いです!