Docker 容器操作与日志管理全解析
1. 远程容器命令执行
在 Docker 中,我们可以让 Docker 在远程容器上运行cat /etc/passwd命令,这样就能获取容器文件系统中/etc/passwd文件的内容。由于这只是标准输出,我们可以像处理其他输出一样将其通过管道传递给本地命令。
例如,之前的代码将输出通过管道传递给本地的wc命令,而不是容器内的wc命令,因为管道本身不会传递到容器中。如果想将包含管道的完整命令传递到服务器,需要在远程端调用一个完整的 shell 并传递带引号的命令,如bash -c "<your command> | <something else>"。在之前的代码中,具体命令如下:
docker run 8d12decc75fe /bin/bash -c "/bin/cat /etc/passwd | wc -l"2. 进入运行中的容器
虽然可以使用docker run轻松在新容器中启动一个 shell,但这与在正在运行应用程序的现有容器中启动新 shell 不同。每次使用docker run都会创建一个新容器。如果需要在运行应用程序的现有容器内进行调试,就需要其他方法。
由于 Docker 容器基于 Linux 命名空间,有两种进入容器的方法: