docker:在 bash 脚本中找不到命令,但可以在 bash 中使用 docker
docker: command not found in bash script but can use docker in bash
我在 windows 服务器 2019 上使用 bash,并尝试 运行 一个简单的 bash 脚本,但是当它到达这一行时:
# check if containers are running, and stop them if they are not for the current project
all_up_ids=$(docker ps -q);
我收到 'docker docker command not found' 错误。奇怪的是,我可以 运行 docker 和 docker-compose in bash 没问题。我已经设置了我的环境变量。我能够让 docker 命令在 bash 中工作的唯一方法是将其放入我的 .bashrc 文件
export PATH="$HOME/bin:$HOME/.local/bin:$PATH"
export PATH="$PATH:/mnt/c/Program\ Files/Docker/Docker/resources/bin"
alias docker=docker.exe
alias docker-compose=docker-compose.exe
我的环境设置是否还有问题?任何帮助表示赞赏。
Docker 信息:
Client: Docker Engine - Enterprise
Version: 19.03.5
API version: 1.40
Go version: go1.12.12
Git commit: 2ee0c57608
Built: 11/13/2019 08:00:16
OS/Arch: windows/amd64
Experimental: true
Server: Docker Engine - Enterprise
Engine:
Version: 19.03.5
API version: 1.40 (minimum version 1.24)
Go version: go1.12.12
Git commit: 2ee0c57608
Built: 11/13/2019 07:58:51
OS/Arch: windows/amd64
Experimental: true
~/.bashrc
脚本仅针对交互式终端执行,这意味着每次打开终端 window 时,~/.bashrc
都会在该会话中执行。所以在那里定义的任何东西都不能用于脚本,因为它们是在非交互模式下执行的。
我宁愿将您的配置放入 ~/.bash_profile
。该脚本仅在您打开登录时执行一次 shell,因此当您登录并启动脚本时,它也可用于该脚本。
没有直接关系(不是Ubuntu),但有相同的错误信息
以防万一...在 RHEL docker
上可以安装为 podman-docker
:
sudo dnf install podman-docker
我在 windows 服务器 2019 上使用 bash,并尝试 运行 一个简单的 bash 脚本,但是当它到达这一行时:
# check if containers are running, and stop them if they are not for the current project
all_up_ids=$(docker ps -q);
我收到 'docker docker command not found' 错误。奇怪的是,我可以 运行 docker 和 docker-compose in bash 没问题。我已经设置了我的环境变量。我能够让 docker 命令在 bash 中工作的唯一方法是将其放入我的 .bashrc 文件
export PATH="$HOME/bin:$HOME/.local/bin:$PATH"
export PATH="$PATH:/mnt/c/Program\ Files/Docker/Docker/resources/bin"
alias docker=docker.exe
alias docker-compose=docker-compose.exe
我的环境设置是否还有问题?任何帮助表示赞赏。
Docker 信息:
Client: Docker Engine - Enterprise
Version: 19.03.5
API version: 1.40
Go version: go1.12.12
Git commit: 2ee0c57608
Built: 11/13/2019 08:00:16
OS/Arch: windows/amd64
Experimental: true
Server: Docker Engine - Enterprise
Engine:
Version: 19.03.5
API version: 1.40 (minimum version 1.24)
Go version: go1.12.12
Git commit: 2ee0c57608
Built: 11/13/2019 07:58:51
OS/Arch: windows/amd64
Experimental: true
~/.bashrc
脚本仅针对交互式终端执行,这意味着每次打开终端 window 时,~/.bashrc
都会在该会话中执行。所以在那里定义的任何东西都不能用于脚本,因为它们是在非交互模式下执行的。
我宁愿将您的配置放入 ~/.bash_profile
。该脚本仅在您打开登录时执行一次 shell,因此当您登录并启动脚本时,它也可用于该脚本。
没有直接关系(不是Ubuntu),但有相同的错误信息
以防万一...在 RHEL docker
上可以安装为 podman-docker
:
sudo dnf install podman-docker