无法访问DOCKER容器

时间:2018-03-01 14:29:39

标签: docker docker-compose

我在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

如何访问容器?感谢

3 个答案:

答案 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