vscode - Как запустить `docker` в задании? - Docker-Build-Task не работает - PullRequest
0 голосов
/ 12 июня 2019

Ситуация и проблема

я использую macOS Mojave 10.14.5 , обновленный bash , как описано здесь и у меня есть док-контейнер TeXlive (в основном тот ), который я хочу вызвать, чтобы набирать LaTeX-файлы. Это работает очень хорошо, и выполнение с этим следующим tasks.json работало безупречно до недавнего обновления (что я не могу определить, так как я не использую это ежедневно).

tasks.json
{
    // See https://go.microsoft.com/fwlink/?LinkId=733558
    // for the documentation about the tasks.json format
    "version": "2.0.0",
    "tasks": [
        {
            "type": "shell",
            "label": "runit",
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "command": "docker",
            "args": [
                "run",
                "-v",
                "${fileDirname}:/doc/",
                "-t",
                "-i",
                "mytexlive",
                "pdflatex",
                "${fileBasename}"
            ],
            "problemMatcher": []
        },
        {
            "type": "shell",
            "label": "test",
            "command": "echo",
            "args": [
                "run",
                "-v",
                "${fileDirname}:/doc/",
                "-t",
                "-i",
                "mytexlive",
                "pdflatex",
                "${fileBasename}"
            ],
        }
    ]
}

Попытка запустить Docker выдает «команду не найдена»:

> Executing task: docker run -v /path/to/file:/doc/ -t -i mytexlive pdflatex file_name.tex <

/usr/local/bin/bash: docker: command not found
The terminal process command '/usr/local/bin/bash -c 'docker run -v /path/to/file:/doc/ -t -i mytexlive pdflatex file_name.tex'' failed to launch (exit code: 127)

... при попытке повторить, работает просто отлично.

> Executing task: echo run -v /path/to/file:/doc/ -t -i mytexlive pdflatex file_name.tex <

run -v /path/to/file:/doc/ -t -i mytexlive pdflatex file_name.tex

Несмотря на то, что когда-то это работало так же, как описано выше и , та же самая команда работает в терминале, теперь она не работает, если я выполню ее как задачу сборки. Следовательно, мой

Вопрос

Как использовать docker в сборке-задании?

или исправьте проблему в вышеуказанной настройке.

дополнительные примечания

Попытка следующего привела к тому же «команда не найдена»

{
    "type": "shell", "label": "test",
    "command": "which", "args": ["docker"]
}

... хотя это работает:

bash$ /usr/local/bin/bash -c 'which docker'
/usr/local/bin/docker
bash$ echo $PATH
/usr/local/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...