我在AWS上的Ubuntu 16.04 Xenial中为Nginx和NodeJS设置了两个容器 . 我使用docker-compose . 一切正常 .
我想看看Nginx容器 . 对于相同的我使用命令:
sudo docker exec -it <container-name> bash
我收到以下错误
oci runtime error: exec failed: container_linux.go:265: starting container process caused "exec: \"bash\": executable file not found in $PATH"
路径是(使用echo $ PATH)
/home/ubuntu/bin:/home/ubuntu/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/游戏:在/ usr /本地/游戏:/快/箱
docker-compose.yml是:
version: "0.9"
services:
nginx:
build: ./nginx
restart: always
ports:
- "80:80"
- "443:443"
volumes:
- /etc/letsencrypt/:/etc/letsencrypt/
links:
- node:node
node:
build: ./node
restart: always
ports:
- "8080:8080"
volumes:
- ./node:/usr/src/app
- /usr/src/app/node_modules
我如何访问容器?谢谢
3 回答
你确定你的码头图像中有bash解释器吗?例如,它不适用于基础高山图像 .
您可以尝试启动容器:
并查看错误是否仍然存在 .
BTW,
usermod -aG docker <username>
将允许您不再使用sudo以用户<username>
运行docker命令 .这是你的主机...你的错误表明你无法进入容器,所以不确定为什么你回应它 .
我们可以用bash来实现 . 你必须额外安装它 .
sh
应该工作 .如果您正在使用docker compose来运行容器,则可以使用它来执行命令 .
如果你只想列出文件夹,你只需要
ls
大多数基本映像都在高山linux中运行,出于空间原因,没有bash而是sh,所以试试吧