dockerコンテナでDovecot(IMAP)を構築したので手順をメモします。
このコンテナはDovecot社の公式イメージなっており、数十秒で構築することができます。
今回の環境は以下となります。
[root@mail ~]# cat /etc/redhat-release CentOS Linux release 8.3.2011
前提条件としてDocker構築後の環境での手順となります。
Dockerインストール手順はこちらから
また、POPサーバーのコンテナ構築は本記事の最後尾にリンク先があるので参考にしてください。
「Docker」Dovecotコンテナ(popサーバ)の簡単構築手順
前回、POPサーバーのコンテナを構築した際にも使用したDockerイメージは「Dovecot社」公式のイメージを使用しています。
【Docker】dovecot/dovecot
Dovecotコンテナは以下のポートをサポートしています。
- POP3 on 110, SSL 995
- IMAP on 143, SSL 993
- Submission on 587
- LMTP on 24
- ManageSieve on 4190
アクセスする「ユーザー名」はすべて受け入れ、パスワードは共通で「pass」となります。
構築手順は以下となります。
Dockerイメージダウンロード
Dockerイメージをダウンロードします。
[root@mail ~]# docker pull dovecot/dovecot
以下コマンドでイメージがダウンロードされていることを確認します。
[root@mail ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE dovecot/dovecot latest 14db6d609e15 2 months ago 179MB
Dockerコンテナ起動(IMAPサーバ)
以下コマンドでIMAPサーバのコンテナを起動させます。
POP(143)、SSL(993)にアクセスできるようにし、コンテナ名を「pop」としたコマンド例となります。
[root@mail ~]# docker run -p 143:143 -p 993:993 -d --name imap dovecot/dovecot
以下コマンドでIMAPのコンテナが起動できたことが確認できます。
[root@mail ~]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 23ac68dc43e6 dovecot/dovecot "/sbin/tini -- /usr/…" 4 hours ago Up 4 hours 0.0.0.0:143->143/tcp, 0.0.0.0:993->993/tcp imap
公式Dovecotコンテナは動作確認をしても認証エラーが発生する
前回、POPサーバのコンテナ起動後同様、デフォルトの設定では動作確認をしても以下の認証エラーが発生します。
-ERR [AUTH] Plaintext authentication disallowed on non-secure (SSL/TLS) connections.
この認証エラーを回避手順は以下となります。
「Docker」Dovecotコンテナの認証エラー回避方法
前回同様、認証エラーはコンテナにアクセスし、「dovecot.conf」を編集します。
ちなみにデフォルトで編集コマンドのパッケージがないので「apt-get」でインストールします。
コンテナ名「imap」へアクセス
[root@mail ~]# docker exec -it imap /bin/bash
「vim」パッケージを「apt-get」でインストール
コンテナへアクセスと以下コマンドで「vim」パッケージをインストールします。
root@73e8a6598ec6:/# apt-get update root@73e8a6598ec6:/# apt-get install vim
「dovecot.conf」編集
「dovecot.conf」に以下の文字列を追加します。
root@73e8a6598ec6:/# vim /etc/dovecot/dovecot.conf #最後尾に追加 disable_plaintext_auth= no
Dockerコンテナ再起動
「dovecot.conf」を編集後、コンテナを「restart」コマンドで再起動します。
[root@mail ~]# docker restart imap imap
「Dovecot」コンテナ正常動作確認(IMAP)
telnet」コマンドで動作確認を実施します。
[root@mail ~]# telnet localhost 143 Trying ::1... telnet: connect to address ::1: Connection refused Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. * OK [CAPABILITY IMAP4rev1 SASL-IR LOGIN-REFERRALS ID ENABLE IDLE LITERAL+ STARTTLS AUTH=PLAIN] Dovecot ready. 1 login test@mail.com pass 1 OK [CAPABILITY IMAP4rev1 SASL-IR LOGIN-REFERRALS ID ENABLE IDLE SORT SORT=DISPLAY THREAD=REFERENCES THREAD=REFS THREAD=ORDEREDSUBJECT MULTIAPPEND URL-PARTIAL CATENATE UNSELECT CHILDREN NAMESPACE UIDPLUS LIST-EXTENDED I18NLEVEL=1 CONDSTORE QRESYNC ESEARCH ESORT SEARCHRES WITHIN CONTEXT=SEARCH LIST-STATUS BINARY MOVE SNIPPET=FUZZY PREVIEW=FUZZY STATUS=SIZE SAVEDATE LITERAL+ NOTIFY] Logged in 2 list "" * * LIST (\HasNoChildren) "/" INBOX 2 OK List completed (0.001 + 0.000 secs). 3 select INBOX * FLAGS (\Answered \Flagged \Deleted \Seen \Draft) * OK [PERMANENTFLAGS (\Answered \Flagged \Deleted \Seen \Draft \*)] Flags permitted. * 0 EXISTS * 0 RECENT * OK [UIDVALIDITY 1615100731] UIDs valid * OK [UIDNEXT 1] Predicted next UID 3 OK [READ-WRITE] Select completed (0.002 + 0.000 + 0.001 secs). 4 logout * BYE Logging out 4 OK Logout completed (0.001 + 0.000 secs). Connection closed by foreign host.
認証エラーは発生せず、正常に動作したことが確認できました。
Dovecot「POPサーバ」構築手順はこちら
Dockerを構築するならVPSがおすすめです。
エンジニアのオンライン学習
ITエンジニアにおすすめの教材、オンラインスクールです。
無料からエンジニアの学習ができる教材などまとめているので参考にしてください。
おすすめオンライン教材 | |
自宅で学習ができるオンラインスクール | |
ITエンジニアの開発・検証・学習としてインターネット上で専用のサーバ(VPS)を利用しましょう!
実務経験はVPSで学べます。
コメントを残す