【问题标题】:Docker running the containers and modifying environment settingsDocker 运行容器并修改环境设置
【发布时间】:2018-12-29 01:03:57
【问题描述】:

在 Ubuntu 18.10 x64 上设置

尝试使用 Docker Compose 设置 Laravel、Nginx 和 MySQL 液滴,使用本教程 docker tutorial,我一直到教程中的第 8 步,它要求我运行此命令

$ docker-compose exec app nano .env

它给了我一个错误

OCI 运行时执行失败:执行失败:container_linux.go:348:启动容器进程导致“exec:\”nano\“:$PATH 中找不到可执行文件”:未知

我花了大半天的时间在网上寻找任何关于我可能做错的帮助或线索。任何我能给你的信息请告诉我。

提前感谢您!

【问题讨论】:

    标签: ubuntu docker-compose


    【解决方案1】:

    嗯... 引发此错误是因为此容器中未安装“纳米”编辑器。如果你熟悉 vim,你可以这样使用它:

    docker-compose exec app vim .env
    

    你也可以进入容器的shell,然后安装nano来这样使用:

    docker-compose exec app /bin/sh
    

    然后在容器中安装 nano 编辑器。安装命令将取决于操作系统。例如,如果容器基于 ubuntu,您需要输入:

    apt-get install nano
    

    如果它基于 alpine-linux:

    apk add nano
    

    等等……你可以很容易地用谷歌搜索它;) 您可以检查它正在使用下一个命令的操作系统:

    lsb_release -a
    

    希望对你有帮助

    【讨论】:

    • 当我尝试安装 nano 时,它告诉我 E: Could not open lock file /var/lib/dpkg/lock - open (13: Permission denied) E: Unable to lock the administration directory (/var/lib/dpkg/), are you root?
    • @whisk 尝试使用 sudo 运行相同的命令(例如,sudo apt-get install nano)
    • 我试过了,它对我大喊大叫/bin/sh: 2: sudo: not found。我能够用 vim 打开文件,只是不知道如何编辑它。
    • @whisk 好,我可以推荐你this 很棒的 vim 互动课程。它花费的时间不多,大约 15 到 20 分钟,但会非常有用,因为在大多数 Linux 发行版中,vi 默认预装(有时仅)编辑器。或者,您可以尝试使用 su 命令以超级用户身份重新输入,然后尝试安装 nano
    【解决方案2】:

    您可以使用特定用户进入容器,这种情况下您必须具有 root 权限:

    docker exec --user="root" -it <container_name> /bin/bash
    

    然后:

    apt-get install nano
    

    【讨论】:

      猜你喜欢
      • 2017-05-11
      • 2020-10-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-03-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多