无法访问DOCKER容器
我在AWS上的Ubuntu 16.04 Xenial中为Nginx和NodeJS设置了两个容器。我使用docker编写。一切正常 我想看看Nginx容器。同样,我使用以下命令:无法访问DOCKER容器,docker,docker-compose,Docker,Docker Compose,我在AWS上的Ubuntu 16.04 Xenial中为Nginx和NodeJS设置了两个容器。我使用docker编写。一切正常 我想看看Nginx容器。同样,我使用以下命令: sudo docker exec -it <container-name> bash 路径为(使用echo$path) /home/ubuntu/bin:/home/ubuntu/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sb
sudo docker exec -it <container-name> bash
路径为(使用echo$path)
/home/ubuntu/bin:/home/ubuntu/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/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
如何访问容器?谢谢您确定docker映像中有bash解释器吗?例如,它在基础阿尔卑斯山图像中不可用 您可以尝试使用以下命令启动容器:
sudo docker exec -it <container-name> sh
sudo docker exec-it sh
并查看错误是否仍然发生
顺便说一句,usermod-aG docker
将允许您不再使用sudo以用户身份运行docker命令
路径为(使用echo$path)
那是你的主机。。。您的错误表明您无法进入容器,因此不确定您为什么会重复该错误
我们看不到您的基本图像,但Apline图像没有随bash提供。你必须额外安装它<代码>sh应该可以工作
如果使用docker compose运行容器,则可以使用它执行命令
如果你只想列出文件夹,你只需要ls
docker-compose exec nginx ls /
大多数基本映像都运行在alpine linux中,出于空间原因,该linux没有bash,只有sh,因此请尝试使用
docker exec -ti <container> sh
docker exec-ti sh
我尝试使用/bin/bash
仍然是相同的错误您应该显示您的DockerFile,而不仅仅是@Raj的ComposePossible副本并非所有容器都需要bash外壳。它确实有效,我可以访问目录。谢谢
docker exec -ti <container> sh