ssh进入容器和docker exec进入容器,二者进入容器后执行的同一个命令得到不同的查询结果,为什么?
时间: 2024-03-01 13:45:29 浏览: 209
ssh进入容器和docker exec进入容器,二者进入容器后执行的同一个命令得到不同的查询结果,这是因为ssh进入容器后,进入的是容器的交互式终端,而docker exec进入容器后,进入的是容器的非交互式终端。在交互式终端中,一些环境变量和终端设置可能会被更改,因此执行相同的命令可能会得到不同的结果。此外,ssh进入容器时,可能会遇到终端大小的问题,需要手动调整终端大小才能正常显示输出。
相关问题
ssh进入容器和docker exec进入容器,二者进入容器后的执行权限有区别吗
ssh进入容器和docker exec进入容器,二者进入容器后的执行权限是有区别的。使用ssh进入容器时,相当于在容器内部启动了一个新的shell,此时你所拥有的权限和容器内的用户权限是一致的。而使用docker exec进入容器时,你所拥有的权限是由docker daemon控制的,可以通过在docker run命令中指定用户来控制权限。因此,使用docker exec进入容器时,你可能会拥有更高的权限,这也意味着你需要更加小心地操作容器内的内容,以免造成不必要的损失。
ssh进入容器和docker exec进入容器的区别是什么
ssh进入容器和docker exec进入容器的区别在于,ssh是通过远程连接的方式进入容器,需要在容器内部安装ssh服务,并且需要在容器外部通过ssh客户端连接容器。而docker exec是直接在宿主机上执行命令进入容器,不需要在容器内部安装ssh服务,也不需要在容器外部连接容器。此外,ssh进入容器需要先启动容器,而docker exec可以在容器运行的情况下直接进入容器。因此,docker exec更加方便和快捷。
阅读全文