我在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 /本地/游戏:/卡扣/ bin中
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
如何访问容器?感谢
答案 0 :(得分:3)
您确定您的泊坞窗图片中有bash解释器吗?例如,它不适用于基础高山图像。
您可以尝试使用以下方式启动容器:
sudo docker exec -it <container-name> sh
查看错误是否仍然存在。
BTW,usermod -aG docker <username>
将允许您不再使用sudo以用户<username>
运行docker命令。
答案 1 :(得分:0)
路径是(使用echo $ PATH)
这是你的主机...你的错误表明你无法进入容器,所以不确定为什么你回应它。
我们无法看到您的基本图像,但Apline图像不带有bash。你必须额外安装它。 plus
应该可以工作。
如果您正在使用docker compose来运行容器,则可以使用它来执行命令。
如果您只想列出文件夹,则只需要val map = mutableMapOf("a" to 1, "b" to 2)
map += ("c" to 3)
sh
答案 2 :(得分:0)
大多数基本映像都在高山linux中运行,出于空间原因,没有bash而是sh,所以试试
docker exec -ti <container> sh