LoginSignup
2
2

コンテナでメールサーバを構築しました!

Posted at

はじめに

 仕事の関係でメールサーバ、メールクライアント、ファイルサーバを利用して検証する必要が出てきました。
 ちょうど今は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

Pasted image 5.png

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

Pasted image 8.png

7.管理者以外でも利用できるように設定

sudo usermod -aG docker &USER

8.インストールの確認(インストールされているのであれば、もちろんバージョンはちゃんと表示されます)

docker --version

Pasted image 11.png

メールサーバの構築

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

メールサーバ構築できました。
Screenshot 2024-03-12 at 20.19.32.png

下記のコマンドで生成されたコンテナの状態などを確認できます。

sudo docker ps -a

メールアドレスを登録

検証ユーザーメールアカウントを登録します。

$ ./setup.sh email add mymail@yourdomain.com mypassword

Dkimも設定(今後のために設定)

sudo ./setup.sh config dkim

メールサーバ再起動

sudo docker restart mailserver

メールクライアントの準備

 メールクライアントとして、検証者のPC(WidnowsMac)にThunderbirdを設定してもらいます。ちなみに、自分のMacにも入れました。

 アカウント設定に関してはこちらの記事をご参照ください。

 ローカルでメールの送受信ができました!

Screenshot 2024-03-12 at 20.58.52.png

ファイルサーバ

既にこのRaspberrypiに入っています。コンテナの形ではないですが、事前にホストのUbuntuの中にSambaをインストールしてファイルサーバとして動かしています。

MacからSambaサーバに接続する場合は、デスクトップ上やFinder上でキーボードの[Command(⌘)]キーを押しながら[K]キーを押すと、「サーバへ接続」ウィンドウが出現します。 UbuntuサーバのIPとユーザーとパスワードを入れればアクセスできます。

ファイル(Samba)サーバの構築について、ご興味がある方はこちらの記事をご参照ください。

感想

 コンテナはやっぱり手軽で、導入しやすいです。
 仮想マシンよりは倍以上早くサーバを構築できる感じがします。

予告

 コンテナやK8sの勉強日記もこれから投稿する予定です。
 そしてSSHリバースポートフォワードも楽しみに待ってください!

終わりに

 最後まで読んでいただき、ありがとうございました。ご参考になれば幸いです!

2
2
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
2
2