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

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コンテナ構築手順はこちらを参考にしてください。




エンジニアのオンライン学習

ITエンジニアにおすすめの教材、オンラインスクールです。
無料からエンジニアの学習ができる教材などまとめているので参考にしてください。

おすすめオンライン教材
自宅で学習ができるオンラインスクール

ITエンジニアの開発・検証・学習としてインターネット上で専用のサーバ(VPS)を利用しましょう!
実務経験はVPSで学べます。



コメントを残す

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

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

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