您是否要了解如何在 Docker 容器内运行多个服务? 在本教程中,我们将向您展示在运行 Ubuntu Linux 的计算机上在 Docker 容器内运行多个服务所需的所有步骤。

• 乌本图 18.04
• 乌本图 19.10
• 码头 19.03.6

在我们的示例中,单个 Docker 容器将运行 MySQL 服务和 Apache 服务。

Apache 服务将在 TCP 端口 80 上侦听。

MySQL 服务将在 TCP 端口 3306 上侦听。

教程 Docker - 运行多个服务的容器

安装 Docker 服务。

Copy to Clipboard

从在线存储库下载 Ubuntu Docker 映像。

Copy to Clipboard

列出安装在系统上的 Docker 映像。

Copy to Clipboard

下面是命令输出:

Copy to Clipboard

使用此 Docker 映像启动新的 Ubuntu 容器。

Copy to Clipboard

现在,您位于容器命令行上。

Copy to Clipboard

在我们的示例中,Ubuntu 图像用于启动新容器。

在我们的示例中,容器 ID 为 62f9adcafb62。

在我们的示例中,容器被命名为 MYCONTAINER。

安装所需软件包的列表。

Copy to Clipboard

安装 Apache 服务。

Copy to Clipboard

系统将要求您选择时区。

Copy to Clipboard

在我们的示例中,我们将时区配置为美国圣保罗。

Copy to Clipboard

安装 MySQL 服务。

Copy to Clipboard

编辑名为 mysqld.cnf 的 MySQL 配置文件。

Copy to Clipboard

在配置文件中,找到以下行。

Copy to Clipboard

将此行值更改为 0.0.0.0。

Copy to Clipboard

在容器内手动启动 MySQL 服务。

Copy to Clipboard

访问 MySQL 命令行。

Copy to Clipboard

为 MySQL 根用户设置密码。

Copy to Clipboard

在我们的示例中,根用户密码设置为 Kamisama123。

创建名为主管.conf 的配置文件。

Copy to Clipboard

这是文件内容。

Copy to Clipboard

在容器的根目录中,创建名为run.sh的脚本。

Copy to Clipboard

这是文件内容。

Copy to Clipboard

配置正确的文件权限。

Copy to Clipboard

退出容器命令行。

Copy to Clipboard

基于此容器创建 Docker 映像。

Copy to Clipboard

在我们的示例中,我们基于名为 MYCONTAINER 的容器创建了名为 MYIMAGE 的 Docker 映像。

使用创建的映像启动新的 Docker 容器。

Copy to Clipboard

测试您对 Apache 服务的访问。

Copy to Clipboard

下面是命令输出:

Copy to Clipboard

测试您对 MySQL 服务的访问。

Copy to Clipboard

下面是命令输出:

Copy to Clipboard

祝贺! 您已完成 Docker 映像的创建,该映像提供多个服务。