Docker在运行程序的时候,需要区分运行的程序是一次性进程还是对话进程,不同的进程之间的操作方式会有差异。

一次性进程 Definition

一些简单进程是不需要交互的,比如hello-world,运行完就结束了。

➜  ~ docker container run hello-world

对话进程 Definition

很多场景下的进程是需要交互的,需要一直都在等待我们的命令输入不能退出的,我们可以通过 docker 的两个参数 -i -t,让 docker 运行的容器实现"对话"的能力;

docker run:启动container的固定格式

ubuntu:你想要启动的image name

-t:进入终端

-i:获得一个交互式的连接,通过获取container的输入

/bin/bash:在container中启动一个bash shell
➜  ~ docker container run -it ubuntu bash
root@f04290c4d0e7:/#

退出的方法

  1. 快捷键:ctrl + d
  2. 当前窗口输入命令:exit
  3. 另个一个窗口输入命令 docker container kill 【id】
# 打来另一个term 窗口
➜  ~ docker container ls --all
CONTAINER ID        IMAGE               COMMAND             CREATED              STATUS                       PORTS               NAMES
f04290c4d0e7        ubuntu              "bash"              About a minute ago   Up About a minute                                confident_agnesi
adeee75489f8        ubuntu              "bash"              11 minutes ago       Exited (127) 6 minutes ago                       suspicious_mclaren
e711cba8bb49        hello-world         "/hello"            23 minutes ago       Exited (0) 23 minutes ago                        bold_perlman

➜  ~ docker container kill f04290c4d0e7
f04290c4d0e7

Reference

https://www.ruanyifeng.com/blog/2018/02/docker-tutorial.html
https://blog.csdn.net/dongdong9223/article/details/52998375

posted on 2020-04-24 20:23  Mysticbinary  阅读(397)  评论(0编辑  收藏  举报