将 docker-compose.yml 转换为 docker 运行

Transform docker-compose.yml to docker run

我是 docker 的新手,我不知道如何转换这个 docker-compose.yml :

version: '3'
services:
  php:
    build: .
    volumes:
      - "./:/var/www/html:ro"
      - "./:/var/log/php"

在一行中输入一个简单的 docker 命令(如果可能的话)。我试过这个: docker build -t mstp2html --mount source=./,target=/var/www/html,ro --mount source=./,target=/var/log/php -f- . 还有这个 : docker run --name mstp2html --mount source=./,target=/var/www/html,ro --mount source=./,target=/var/log/php ./Dockerfile

但是不行。我错过了什么?

您混淆了两个概念:

  • build:创建docker镜像的阶段,但与运行
  • 没有关系
  • 运行:您 运行 一个基于现有 docker 图像的 docker 容器的阶段。在此阶段,您可以定义卷等选项。

为了让您的示例正常工作,您需要将其分为两个阶段:

  1. 构建 docker 图像:
docker build -t mstp2html_image .
  1. 运行 镜像中的容器并挂载你想要的卷:
docker run --name mstp2html --mount type=bind,source="$(pwd)",target=/var/www/html,ro --mount type=bind,source="$(pwd)",target=/var/log/php mstp2html_image