使用 docker-compose 运行 -rm 时的前缀

Prefixes when using docker-compose run -rm

我正在使用 Laravel 开发一个 PHP 项目,我的 docker-compose:

中有几个实用程序
  composer:
    image: composer:latest
    container_name: composer
    volumes:
      - ./src:/var/www/html
    working_dir: /var/www/html
    depends_on:
      - php
    networks:
      - laravel

  npm:
    image: node:13.7
    container_name: npm
    volumes:
      - ./src:/var/www/html
    working_dir: /var/www/html
    entrypoint: ["npm"]

有了这个,我必须在每个命令前加上 docker-compose run -rm 前缀,例如:

docker-compose run -rm npm update

有没有一种方法可以让我在环境中设置一些别名(npmgruntcomposermysql...) VSCode?

中的那个项目

您可以添加一个task in VS code

Lots of tools exist to automate tasks like linting, building, packaging, testing, or deploying software systems. Examples include the TypeScript Compiler, linters like ESLint and TSLint as well as build systems like Make, Ant, Gulp, Jake, Rake, and MSBuild.

VScode Task

应该放在.vscode

里面
├── docker-compose.yml
└── .vscode
    └── tasks.json

{
    "version": "2.0.0",
    "tasks": [
        {
            "label": "npm",
            "type": "shell",
            "command": "docker-compose run ${input:npm}",
            "problemMatcher": [],
            "group": {
                "kind": "build",
                "isDefault": true
            }
        },
        {
            "label": "composer",
            "type": "shell",
            "command": "docker-compose run ${input:compose}",
            "problemMatcher": [],
            "group": {
                "kind": "build",
                "isDefault": true
            }
        }
    ],
    "inputs": [
        {
            "id": "npm",
            "description": "npm argument:",
            "default": "npm",
            "type": "promptString"
        },
        {
            "id": "compose",
            "description": "compose argument:",
            "default": "composer",
            "type": "promptString"
        }

    ]
}

现在一切就绪,您只需要按

Ctrl+Shift+B 两个任务都会被列出,select 并执行任务。