运行 docker 运行 命令作为 npm 脚本

Run docker run command as npm script

我有以下命令 运行s 当 运行 本身时(输出:你好):

$ docker run -it --rm --name fetch_html -v ${pwd}:/usr/src/myapp -w /usr/src/myapp php:7.4-cli php 
Hello

但是,我想 运行 它作为一个 npm 脚本,因为每次都把整个东西都写出来有点乏味:

{
  ...
  "scripts": {
    "fetch_html": "docker run -it --rm --name fetch_html -v ${pwd}:/usr/src/myapp -w /usr/src/myapp php:7.4-cli php scripts/fetch_html/cli.php"
  },
  ...

然后:

$ npm run fetch_html

但它给了我以下错误:

docker: Error response from daemon: create ${pwd}: "${pwd}" includes invalid characters for a local volume name, only "[a-zA-Z0-9][a-zA-Z0-9_.-]" are allowed. If you intended to pass a host directory, use absolute path.

我曾尝试将其更改为 $(pwd),因为我记得 Windows 和 Linux 在此处具有不同的语法(?)。主机是Windows10.

如果您使用的是 Windows 10 CMD 解释器,试试这个:

{
  ...
  "scripts": {
    "fetch_html": "docker run -it --rm --name fetch_html -v %cd%\:/usr/src/myapp -w /usr/src/myapp php:7.4-cli php scripts/fetch_html/cli.php"
  },
  ...