我想使用docker-compose yml文件来更新容器的路径。
environment:
- PATH="$PATH":/my/new/path
但是当我启动容器时,它说
oci运行时错误:exec失败:container_linux.go:265:启动容器进程导致" exec:\" bash \":$ PATH"中找不到可执行文件
是否可以从docker-compose yml文件更新容器的PATH?
感谢。
答案 0 :(得分:2)
您正在做的是更新PATH,但错误是由于$PATH
正在扩展为主机上的env变量值而导致的
您可以做的是默认情况下计算容器内的PATH
值并附加到该值:
在没有变量的情况下启动图像:
docker-compose up
docker exec -it <container-name> bash
echo $PATH
并复制值environment:
- PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/my/new/path
答案 1 :(得分:0)
对我来说,当我尝试在docker-compose中执行启动脚本command: bash startup.sh
时发生了错误。
问题是我的映像构建是在使用 ash 作为外壳而不是 bash 的Linux的alpine
上完成的。只需仔细检查一下,您是否指的是正确的shell解释器。还要检查您的sh
脚本是否引用了正确的unix shell,例如#!/bin/ash