Skip to content

快速参考

  • 维护者:
    Postfix 管理员

  • 获取帮助的途径:
    Docker 社区 Slack、Server Fault、Unix & Linux 或 Stack Overflow

支持的标签和相应的 Dockerfile 链接

快速参考(续)

Postfix Admin 是什么?

Postfix Admin 是一个基于 Web 的界面,用于为许多用户配置和管理基于 Postfix 的电子邮件服务器。功能包括支持虚拟域和别名、配额以及休假/外出办公消息。它需要 PHP、Postfix 以及 MySQL、PostgreSQL 或 SQLite 之一。

logo

如何使用此图像

没有 config.local.php / 没有现有的设置

如果您没有 config.local.php,那么我们将回退以查找环境变量来生成一个。

$ docker run -e POSTFIXADMIN_DB_TYPE=mysqli \
           -e POSTFIXADMIN_DB_HOST=whatever \
           -e POSTFIXADMIN_DB_USER=user \
           -e POSTFIXADMIN_DB_PASSWORD=topsecret \
           -e POSTFIXADMIN_DB_NAME=postfixadmin \
           --name some-postfixadmin \
        postfixadmin

POSTFIXADMIN_DB_TYPE 可以是以下之一:

  • mysqli
  • pgsql
  • sqlite

注意:如果您没有 config.local.php 并且没有指定上述变量,则不建议使用 SQLite 数据库,但会将其用作备用。不要忘记为 SQLite 路径添加卷。

您还可以指定一个 POSTFIXADMIN_SETUP_PASSWORD 环境变量。

如果您希望能够从主机访问实例而无需容器的 IP,则可以使用标准端口映射:

$ docker run -e POSTFIXADMIN_DB_TYPE=mysqli \
           -e POSTFIXADMIN_DB_HOST=whatever \
           -e POSTFIXADMIN_DB_USER=user \
           -e POSTFIXADMIN_DB_PASSWORD=topsecret \
           -e POSTFIXADMIN_DB_NAME=postfixadmin \
           --name some-postfixadmin \
           -p 8080:80
        postfixadmin

然后,在浏览器中通过 http://localhost:8080http://host-ip:8080 访问它。

现有 config.local.php

$ docker run -v /local/path/to/config.local.php:/var/www/html/config.local.php \
           --name some-postfixadmin \
           -p 8080:80 \
        postfixadmin

...通过 docker-composedocker stack deploy

示例 docker-compose.yml 用于 postfixadmin

version: '3'

services:
  db:
    image: mysql:8.0
    restart: always
    environment:
      MYSQL_RANDOM_ROOT_PASSWORD: 1
      MYSQL_DATABASE: postfixadmin
      MYSQL_USER: postfixadmin
      MYSQL_PASSWORD: example

  postfixadmin:
    depends_on:
      - db
    image: postfixadmin
    ports:
      - 8000:80
    restart: always
    environment:
      POSTFIXADMIN_DB_TYPE: mysqli
      POSTFIXADMIN_DB_HOST: db
      POSTFIXADMIN_DB_USER: postfixadmin
      POSTFIXADMIN_DB_NAME: postfixadmin
      POSTFIXADMIN_DB_PASSWORD: example

Try in PWD

运行 docker stack deploy -c stack.yml postfixadmin(或 docker-compose -f stack.yml up),等待其完全初始化,然后访问 http://swarm-ip:8080、http://localhost:8080 或 http://host-ip:8080(根据情况而定)。

图像变体

postfixadmin 图像有多种类型,每种都针对特定的用例进行了设计。

postfixadmin:<version>

这是默认的镜像。如果您不确定自己的需求是什么,您可能想要使用这个。它被设计为既可以用作一次性容器(挂载您的源代码并启动容器以启动您的应用程序),也可以用作构建其他镜像的基础。

阿帕奇

这将启动一个带有 PHP 的 Apache Web 服务器,因此您可以立即使用 postfixadmin

fpm

此映像仅启动一个 PHP FPM 容器。如果您已经有一个单独的 Web 服务器,请使用此变体。

fpm-高山

此镜像占用空间极小。它基于 Alpine Linux,仅启动一个 PHP FPM 进程。如果您已经有一个单独的 Web 服务器,请使用此变体。如果您需要更多在 Alpine Linux 上不可用的工具,请使用 fpm 镜像。

许可证

查看此映像中包含的软件的许可证信息。

与所有 Docker 镜像一样,这些镜像可能还包含其他软件,这些软件可能受其他许可证的约束(例如来自基础发行版的 Bash 等,以及所包含的主要软件的任何直接或间接依赖项)。

一些能够自动检测到的额外许可证信息可能会在 repo-info 存储库的 postfixadmin/ 目录中找到。

对于任何预构建的映像使用,映像用户有责任确保对此映像的任何使用都符合其中包含的所有软件的任何相关许可证。