4.10 进入容器
在使用 -d 参数时,容器启动后会进入后台,用户无法看到容器中的信息,也无法进行操作。这个时候如果需要进入容器进行操作,推荐使用官方的attach或exec命令。
1. attach命令
attach是Docker自带的命令,命令格式为docker [container] attach [--detach-keys=string] [--no-stdin] [--sig-proxy[=true]]:
这个命令支持三个主要选项:
--detach-keys=string:指定退出attach模式的快捷键序列,默认是CTRL-p,CTRL-q,需要同时按下CTRL键、p和q这三个键;
--no-stdin=true|false:是否关闭标准输入,默认是保持打开;
--sig-proxy=true|false:是否代理收到的系统信号给应用进程,默认为true。
当多个窗口同时attach到同一个容器的时候,所有窗口都会同步显示;当某个窗口因命令阻塞时,其他窗口也无法执行操作了。
2. exec命令
可以使用docker exec命令在运行中容器内直接执行任意命令,命令格式为docker [container] exec [-d|--detach] [--detach-keys=string] [-i|--interactive] [--privileged] [-t|--tty] [-u|--user=USER] CONTAINER COMMAND [ARG...] 。
比较重要的参数有:
-d, --detach:在容器中后台执行命令;
--detach-keys=string:指定将容器切回后台的按键;
-e, --env=[]:指定环境变量列表;
-i, --interactive=true|false:打开标准输入接受用户输入命令,默认值为false;
--privileged=true|false:是否给执行命令以高权限,默认值为false;
-t, --tty=true|false:分配伪终端,默认值为false;
-u, --user=string:执行命令的用户名或ID。
例如,进入到刚创建的容器中,并启动一个bash:
Last updated
Was this helpful?