【发布时间】:2021-10-23 18:26:59
【问题描述】:
我在 ubuntu 20.04 我现在使用 sudo snap install docker 安装了 docker,当我直接从终端运行时(安装了 ubuntu 的终端)docker 命令它工作正常,但是当我使用 bash 从终端执行 .sh 脚本时。/ script.sh 或 ./script.sh 我收到错误 docker: command not found.
这是脚本:
#!/bin/bash
source $(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)/env.sh
docker run -e "NODE_ENV=dev" -it --rm --name my-npm-2 -v $PROJECT_HOME/code:/var/www/html/code -w /var/www/html/code node:14 npm install
docker run -e "NODE_ENV=dev" -it --rm --name my-npm -v $PROJECT_HOME/code/web:/var/www/html/code/web -w /var/www/html/code/web node:14 npm install
$SCRIPT_HOME/buildjs_dev.sh
docker exec project_php sudo php -d memory_limit=-1 /usr/local/bin/composer install --working-dir=/var/www/html/code
docker exec project_php chown -R www-data:www-data /var/www/html/code/var/cache
docker exec project_php chown -R www-data:www-data /var/www/html/code/var/log
我一般是 linux 新手,我不知道问题出在脚本本身还是为什么它不能识别 docker?
【问题讨论】:
-
那些
npm install和composer install命令似乎通常应该在你的镜像的Dockerfile 中运行,而不是通过像docker exec这样的调试接口。你有你的 Javascript 和 PHP 应用程序的 Dockerfiles,你可以docker build吗? -
你能把这个命令
echo $PATH放在#!/bin/bash之后和第一个docker命令之前并分享这两个输出。由于您的第一个源命令,您的 PATH 甚至可能会更改。