docker记录

对于docker已经启动的容器中的服务是否启动的操作

首先进入容器:

docker exec -it  CONTAINER_ID  bash 进入容器终端并且的保留为容器终端的输入形式(-it和bash的结合作用)

官方解释:

       exec:                                     Run a command in a running container(在运行的容器中运行命令)
       exec -i:  --interactive(相互作用的)       Keep STDIN open even if not attached(即使没有连接,也要保持STDIN打开)
       exec -t:   --tty                          Allocate a pseudo-TTY(分配一个 冒充的终端设备)

自我理解:

CONTAINER_ID  : 容器id只要是能够证明唯一就可以,不用全输入  例子:

我们只输入 be 就可以达到唯一的效果了!   docker exec -it  be bash   这样就可以

exec:  exec +  容器id 就是在选中容器中执行命令 :如  exec  be0ab  ls   就是在be..的容器中执行ls 就能看见目录结构了
执行效果:

我们还要执行什么就一直要要加  exec  be0ab  前缀来执行该容器下的操作 想要去掉就要加上 -it 

-it : 目前的理解浅薄,就是要等在容器内的命令执行完毕才会出来到当前操作; 没有-it的加 就相当于在容器内执行一下命令,不等容器内部是否执行完毕直接出来,而我们看见的他在上面是因为容器内的执行快,(行动派可以试试在里面写个循环制造时间验证)

那么就出来了 -it ....bash 的组合

-it ....bash:上面说到在加上-it 会等容器内的操作执行完毕,而bash 是打开容器内的一个终端近程,又因为it的等待 所以就会一直以终端连接的方式停留在容器内部,下面展示效果:

这样就进入了容器的内部  那么我们就能直接的执行相关的命令了 

退出的话:

总结:

docker exec -it  CONTAINER_ID  bash 进入容器终端并且的保留为容器终端的输入形式.

 

 

 

 

 

 

 

 

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐