【Docker】POPサーバ(Dovecot)コンテナのインストールと動作確認まで


dockerコンテナでDovecot(pop)を構築したので手順をメモします。
このコンテナはDovecot社の公式イメージなっており、数十秒で構築することができます。

動作確認もしているので、手順通りにすれば誰でも簡単に構築することができます。

今回の環境は以下となります。

[root@mail ~]# cat /etc/redhat-release
CentOS Linux release 8.3.2011

Dockerインストール手順はこちらから

【CentOS8】Dockerインストールと起動・SSHアクセスまで(無償版CE)

2020年11月15日

「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インストール手順は以下から参照

【CentOS8】Dockerインストールと起動・SSHアクセスまで(無償版CE)

2020年11月15日

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)コンテナ構築と動作確認は以下を参考にしてください。

【Docker】SMTPサーバ(Postfix)構築と動作確認成功まで(Relay access denied)対応も

2021年3月1日

IMAPコンテナ構築手順はこちらを参考にしてください。

【Docker】IMAPサーバ(Dovecot)コンテナのインストールと動作確認まで

2021年3月3日


関連記事


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

ABOUTこの記事をかいた人

blank

インターネット関連のSEをやっています。 ネットワーク、サーバー、ストレージ、仮想基盤まで幅広く手を出しており、MVNOの構築経験もあります。 現在は、Pythonを使ったプログラミングの開発をしネットワークの自動化ツールを作成しています! Pythonの入門書も作成しているので、ぜひ参考にしてください!