如果在Ubuntu系统中,运行一些程序时出现"PWD" variable is not set. Defaulting to a blank string.,大概率是配置文件中使用${PWD}这类语法导致的。
在Ubuntu系统中,执行严格的权限管理,一般你是无法使用 root 用户进行操作的,如果需要root 权限,大多也是使用 sudo 来执行。
大多数Linux系统中,
root用户具有最高权限,也就是管理员权限。
所以我们大多数情况下使用的是一个普通用户,在Ubuntu中执行很多程序时,一般需要在执行的命令前加上 sudo ,来获取管理员权限去执行,如果此时执行的程序中有配置 ${PWD} 相关参数,很可能会出现 "PWD" variable is not set. Defaulting to a blank string. 报错,这是因为系统不知道用什么权限去执行 ${PWD} 命令,因为在普通用户和 root 用户下,执行 ${PWD} 或得到不一样的值。
以 docker-compose.yml 文件为例,如果你在Centos系统下,配置 docker-compose.yaml 可能出现如下配置:
yaml    volumes:
      # 日志文件映射
      - ${PWD}/log:/var/log
这样的配置在 Centos 中大概率不会出错,因为很多用户使用 Centos 系统时,为了方便,都是直接使用 root 用户进行的操作。
但在 Ubuntu 系统下,很可能会报错。
既然 ${PWD} 报错,那么只能修改了,修改方式一般有两种:
docker-compose.yaml支持相对路径配置yaml    volumes:
      # 日志文件映射
      - ./log:/var/log
yaml    volumes:
      # 日志文件映射
      - /usr/local/app/log:/var/log
本文作者:DingDangDog
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!