dockerコンテナでDovecot(pop)を構築したので手順をメモします。
このコンテナはDovecot社の公式イメージなっており、数十秒で構築することができます。
動作確認もしているので、手順通りにすれば誰でも簡単に構築することができます。
今回の環境は以下となります。
[root@mail ~]# cat /etc/redhat-release CentOS Linux release 8.3.2011
Dockerインストール手順はこちらから
「Docker」Dovecotコンテナ(popサーバ)の簡単構築手順
今回構築するDovecotのコンテナイメージは以下ページで公開されています。
【dokcer】dovecot/dovecot
このDovecotコンテナは以下のポートをサポートしています。
- POP3 on 110, SSL 995
- IMAP on 143, SSL 993
- Submission on 587
- LMTP on 24
- ManageSieve on 4190
※ユーザーはすべて受け入れる設定となっており、パスワードはすべて「pass」となります。
以下で構築手順を公開します。
事前にCentOSでDockerをインストールしていることが条件となります。
Dockerインストール手順は以下から参照
Dockerイメージダウンロード
dockerイメージをダウンロードします。
[root@mail ~]# docker pull dovecot/dovecot
以下コマンドでイメージがダウンロードされていることを確認します。
[root@mail ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE dovecot/dovecot latest 14db6d609e15 8 weeks ago 179MB
Dockerコンテナ起動(POPサーバ)
今回はPOPの設定となるので、以下コマンドでpopサーバのコンテナを起動させます。
POP(110)、SSL(995)にアクセスできるようにし、コンテナ名を「pop」としたコマンド例です。
[root@mail ~]# docker run -p 110:110 -p 995:995 -d --name pop dovecot/dovecot
以下コマンドでpopサーバのコンテナが起動できたことが確認できます。
[root@mail ~]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 73e8a6598ec6 dovecot/dovecot "/sbin/tini -- /usr/…" 4 hours ago Up About an hour 0.0.0.0:110->110/tcp, 0.0.0.0:995->995/tcp pop
Dovecotコンテナ起動後、動作確認をしても「-ERR [AUTH] Plaintext authentication disallowed on non-secure (SSL/TLS) connections.」のエラーが発生する
POPサーバのコンテナ起動後、動作確認でtelnetを実行したところ、以下のようなエラーが発生します。
「-ERR [AUTH] Plaintext authentication disallowed on non-secure (SSL/TLS) connections.」
[root@mail ~]# telnet localhost 110 Trying ::1... telnet: connect to address ::1: Connection refused Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. +OK Dovecot ready. user user -ERR [AUTH] Plaintext authentication disallowed on non-secure (SSL/TLS) connections. pass pass -ERR [AUTH] Plaintext authentication disallowed on non-secure (SSL/TLS) connections. quit +OK Logging out Connection closed by foreign host.
この認証エラー回避策について以下でまとめているので参考にしてください。
「Docker」Dovecotの認証エラー回避方法
Dovecotコンテナの認証エラー回避方法はコンテナにアクセスし、「dovecot.conf」を編集することで回避できます。
編集は一行のコードを入れるだけなのでコピペですぐに実施できます。
設定は以下の手順となります。
Dovecotコンテナへアクセス
対象のコンテナへ以下のコマンドでアクセスします。
例:コンテナ名「pop」へアクセス
[root@mail ~]# docker exec -it pop /bin/bash
「apt-get」コマンドで「vim」をインストール
コンテナにアクセスし、「dovecot.conf」を編集をしようとしても、デフォルトで、「vi」、「vim」がコマンドで使用できません。
パッケージをインストールしようとしても、「dnf」、「yum」コマンドが実行できません。
LinuxDebian系のパッケージ管理システムの「apt」は使用できるようです。
以下コマンドで、「apt-get」コマンドを使用し「vim」をインストールします。
※前提条件としてインターネット上へアクセスできること
パッケージアップデート実行
root@73e8a6598ec6:/# apt-get update
「vim」パッケージをインストール
root@73e8a6598ec6:/# apt-get install vim
「dovecot.conf」編集
上記で「vim」パッケージインストール後、以下コマンドで「dovecot.conf」を編集します。
root@73e8a6598ec6:/# vim /etc/dovecot/dovecot.conf #最後尾に追加 disable_plaintext_auth= no
Dockerコンテナ再起動
上記、「dovecot.conf」を編集後、コンテナを「restart」コマンドで再起動します。
[root@mail ~]# docker restart pop pop [root@mail ~]#
これで、編集は完了となります。
「Dovecot」コンテナ正常動作確認
再度「telnet」コマンドで動作確認を実施します。
[root@mail ~]# telnet localhost 110 Trying ::1... telnet: connect to address ::1: Connection refused Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. +OK Dovecot ready. user test@mail.com +OK pass pass +OK Logged in. list +OK 0 messages: . quit +OK Logging out. Connection closed by foreign host. [root@mail ~]#
認証エラーは発生せず、正常に動作したことが確認できました。
SMTP(postfix)コンテナ構築と動作確認は以下を参考にしてください。
IMAPコンテナ構築手順はこちらを参考にしてください。
Dockerを構築するならVPSがおすすめです。
エンジニアのオンライン学習
ITエンジニアにおすすめの教材、オンラインスクールです。
無料からエンジニアの学習ができる教材などまとめているので参考にしてください。
おすすめオンライン教材 | |
自宅で学習ができるオンラインスクール | |
ITエンジニアの開発・検証・学習としてインターネット上で専用のサーバ(VPS)を利用しましょう!
実務経験はVPSで学べます。
コメントを残す