-1

我在客户端使用 macOS,在服务器端使用 Ubuntu 16.04。

我想问一下,如果我定义了一个 docker-compose.yml 文件,如下所示:

version: "3.1"
services:
    server:
      image: ubuntu
    web:
      image: nginx
    php:
      image: 7.1.12-fpm-alpine

它是否安装 ubuntu、debian (FROM debian:stretch-slim) 和 alpine?

还是只安装 ubuntu、nginx 和 php-7-fpm?

如果我想要第二个,我该怎么办?

4

1 回答 1

0

我认为您对 docker-compose 和 Dockerfile 文件感到困惑。

Docker-compose 用于组合不同的应用程序(由镜像定义的容器)以协同工作。例如,如果您有一个使用数据库的 PHP Web 应用程序,您将为数据库定义一个服务,并为 Web 应用程序定义一个服务。您在这里正在做(或尝试做)的是定义 3 个不同的容器。这可能不是您想要做的。

Dockerfile 是构建一个自定义的应用程序镜像。这就像您的应用程序的配方。你可能想要这样的东西。只需使用 php 图像作为“FROM”(基本图像)并将您的自定义应用程序添加到图像中。图像的文档通常说明如何做到这一点 - 在 Docker hub 上查看!

于 2017-11-30T07:22:37.783 回答