首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >修正了“恐慌:提供的文件不是控制台”从Docker撰写在Github动作中

修正了“恐慌:提供的文件不是控制台”从Docker撰写在Github动作中
EN

Stack Overflow用户
提问于 2022-01-25 21:28:43
回答 1查看 969关注 0票数 7

摘要:

我试图在Docker容器中使用Github操作执行一个命令,并且一直收到以下错误:

恐慌:提供的文件不是控制台

详细信息

我有一个运行在PHP和Docker上的web应用程序,我使用Github来构建和部署它。为了安装应用程序的依赖项,我需要在PHP容器中运行composer install。在过去,这个工作流曾经完美无缺地工作,但是现在它开始抛出这个错误。

我设法消除了噪音,把问题降到了必需品,但我不知道下一步该怎么做才能解决它。似乎我无法在PHP容器中执行任何命令。

我对当地没有任何问题。Github操作似乎使用Docker撰写版本2.2.3+azure-1。

我已经通过运行... exec nginx date来尝试使用Nginx容器,错误是相同的。

我改用了docker-compose而不是docker compose,现在我得到了the input device is not a TTY

有人能告诉我怎么回事吗?

build-workflow.yaml

代码语言:javascript
复制
name: Build application
on:
  workflow_dispatch:
    inputs:
      app_env:
        description: Environment
        required: true
        default: prod
jobs:
  setup-app:
    name: Setup application
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2

      - run: docker compose version

      - run: docker compose --file .docker/docker-compose.local.yml --env-file .docker/.env.local up --build --detach

      - run: docker compose --file .docker/docker-compose.local.yml --env-file .docker/.env.local ps

      - run: docker compose --file .docker/docker-compose.local.yml --env-file .docker/.env.local exec php php --version

docker-compose.local.yaml

代码语言:javascript
复制
version: "3.9"

services:

  php:
    image: php:8.1.1-fpm-alpine
    volumes:
      - ../:/var/www/html
    restart: on-failure:3

Github操作日志

代码语言:javascript
复制
2022-01-25T21:06:21.0074933Z ##[group]Run docker compose --file .docker/docker-compose.local.yml --env-file .docker/.env.local ps
2022-01-25T21:06:21.0075489Z [36;1mdocker compose --file .docker/docker-compose.local.yml --env-file .docker/.env.local ps[0m
2022-01-25T21:06:21.0133835Z shell: /usr/bin/bash -e {0}
2022-01-25T21:06:21.0134104Z ##[endgroup]
2022-01-25T21:06:21.1099465Z NAME                COMMAND                  SERVICE             STATUS              PORTS
2022-01-25T21:06:21.1101562Z cardsman-php-1      "docker-php-entrypoi…"   php                 running             9000/tcp
2022-01-25T21:06:21.1160533Z ##[group]Run docker compose --file .docker/docker-compose.local.yml --env-file .docker/.env.local exec php php --version
2022-01-25T21:06:21.1161074Z [36;1mdocker compose --file .docker/docker-compose.local.yml --env-file .docker/.env.local exec php php --version[0m
2022-01-25T21:06:21.1218552Z shell: /usr/bin/bash -e {0}
2022-01-25T21:06:21.1218822Z ##[endgroup]
2022-01-25T21:06:21.2136074Z panic: provided file is not a console
2022-01-25T21:06:21.2136423Z 
2022-01-25T21:06:21.2136747Z goroutine 1 [running]:
2022-01-25T21:06:21.2137132Z github.com/containerd/console.Current(0xc000413a40, 0x0)
2022-01-25T21:06:21.2137738Z    github.com/containerd/console@v1.0.3/console.go:77 +0xd8
2022-01-25T21:06:21.2138381Z github.com/docker/compose/v2/cmd/compose.runExec(0x1550860, 0xc00015cf00, 0x15662b8, 0xc000012700, 0xc00000eb80, 0x7ffe99d1c106, 0x3, 0xc00011f870, 0x1, 0x1, ...)
2022-01-25T21:06:21.2138918Z    github.com/docker/compose/v2/cmd/compose/exec.go:110 +0x4c5
2022-01-25T21:06:21.2139685Z github.com/docker/compose/v2/cmd/compose.execCommand.func2(0x1550860, 0xc00015cf00, 0xc00011f860, 0x2, 0x2, 0xc000000180, 0x10b8625)
2022-01-25T21:06:21.2140175Z    github.com/docker/compose/v2/cmd/compose/exec.go:63 +0xd8
2022-01-25T21:06:21.2140672Z github.com/docker/compose/v2/cmd/compose.Adapt.func1(0x1550860, 0xc00015cf00, 0xc000259680, 0xc00011f860, 0x2, 0x2, 0x12, 0xc00038e460)
2022-01-25T21:06:21.2141168Z    github.com/docker/compose/v2/cmd/compose/compose.go:85 +0x57
2022-01-25T21:06:21.2141639Z github.com/docker/compose/v2/cmd/compose.AdaptCmd.func1(0xc000259680, 0xc00011f860, 0x2, 0x2, 0x0, 0x0)
2022-01-25T21:06:21.2142124Z    github.com/docker/compose/v2/cmd/compose/compose.go:64 +0x13c
2022-01-25T21:06:21.2215387Z github.com/spf13/cobra.(*Command).execute(0xc000259680, 0xc000129760, 0x2, 0x2, 0xc000259680, 0xc000129760)
2022-01-25T21:06:21.2215898Z    github.com/spf13/cobra@v1.3.0/command.go:856 +0x472
2022-01-25T21:06:21.2217020Z github.com/spf13/cobra.(*Command).ExecuteC(0xc000261900, 0xc000261900, 0xc000129700, 0x8)
2022-01-25T21:06:21.2217477Z    github.com/spf13/cobra@v1.3.0/command.go:974 +0x375
2022-01-25T21:06:21.2217899Z github.com/spf13/cobra.(*Command).Execute(...)
2022-01-25T21:06:21.2218305Z    github.com/spf13/cobra@v1.3.0/command.go:902
2022-01-25T21:06:21.2219295Z github.com/docker/cli/cli-plugins/plugin.RunPlugin(0xc000115930, 0xc0003ad400, 0x1394203, 0x5, 0x139b678, 0xb, 0x1511950, 0xd, 0x0, 0x0, ...)
2022-01-25T21:06:21.2220708Z    github.com/docker/cli@v20.10.7+incompatible/cli-plugins/plugin/plugin.go:51 +0x146
2022-01-25T21:06:21.2221338Z github.com/docker/cli/cli-plugins/plugin.Run(0x1410738, 0x1394203, 0x5, 0x139b678, 0xb, 0x1511950, 0xd, 0x0, 0x0, 0x0, ...)
2022-01-25T21:06:21.2221966Z    github.com/docker/cli@v20.10.7+incompatible/cli-plugins/plugin/plugin.go:64 +0x13f
2022-01-25T21:06:21.2222318Z main.pluginMain()
2022-01-25T21:06:21.2222600Z    github.com/docker/compose/v2/cmd/main.go:41 +0xd8
2022-01-25T21:06:21.2223153Z main.main()
2022-01-25T21:06:21.2223454Z    github.com/docker/compose/v2/cmd/main.go:74 +0x16c
2022-01-25T21:06:21.2261798Z ##[error]Process completed with exit code 2.
2022-01-25T21:06:21.2333072Z Post job cleanup.
2022-01-25T21:06:21.3833865Z [command]/usr/bin/git version
2022-01-25T21:06:21.3889002Z git version 2.34.1
2022-01-25T21:06:21.3935206Z [command]/usr/bin/git config --local --name-only --get-regexp core\.sshCommand
2022-01-25T21:06:21.3979636Z [command]/usr/bin/git submodule foreach --recursive git config --local --name-only --get-regexp 'core\.sshCommand' && git config --local --unset-all 'core.sshCommand' || :
2022-01-25T21:06:21.4329783Z [command]/usr/bin/git config --local --name-only --get-regexp http\.https\:\/\/github\.com\/\.extraheader
2022-01-25T21:06:21.4351190Z http.https://github.com/.extraheader
2022-01-25T21:06:21.4365184Z [command]/usr/bin/git config --local --unset-all http.https://github.com/.extraheader
2022-01-25T21:06:21.4413547Z [command]/usr/bin/git submodule foreach --recursive git config --local --name-only --get-regexp 'http\.https\:\/\/github\.com\/\.extraheader' && git config --local --unset-all 'http.https://github.com/.extraheader' || :

EN

回答 1

Stack Overflow用户

发布于 2022-01-25 22:12:27

对于任何试图解决这个问题的人,在Docker Compose 2.2.3版中,他们删除了TTY的检测。Github操作不提供TTY,因此在运行-T时需要提供docker compose exec选项。

这里有更多关于实现的信息:https://github.com/docker/compose/pull/9035

票数 13
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70855915

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档