1、问题描述:我在进行Docker网络实验时,使用docker  run  -d  busybox命令时,busybox无法保持后台长期运行。

=============================================================================================================================

解决问题可参考:http://dockone.io/question/1544

一、理解以下参数含义

-d:--detach=false 以后台模式运行命令
-i:--interactive=false 开启标准输入,即使未与容器连接,也维持标准输入
-t:--tty=false 使用TTY模式(pseudo-TTY)若要使用bash,则必须设置该选项。

二、举几个例子理解参数作用(拿/bin/sh举例)

  (1)不带任何参数

因为sh需要用户输入命令,但是当前容器并没有开启标准输入,sh所以会退出,容器直接退出。

  (2)只是用-i参数开启标准输入

只使用-i参数,开启标准输入所以你可以和容器进行交互,但是因为没有tty所以不会显示shell。

此时会卡在命令行界面,但是通过另外再开一个窗口,可以发现busybox已经在后台运行,此时可以在新窗口中进行操作。

  (3)只是用-it参数开启标准输入和tty即交互模式

  (4)只是用-d是后台运行

因为只使用了后台模式,但是没有-i,所以当没有和容器链接时,不会维持标准输入,sh退出,容器直接退出。

  (5)使用-itd参数开启标准输入和tty即交互模式和后台运行

因为-i的存在,所以即使未与容器连接,也维持标准输入,sh持续运行。

初识Docker:BusyBox容器后台运行失败的更多相关文章

  1. 初识docker

    什么是docker Docker 最初是 dotCloud 公司创始人 Solomon Hykes 在法国期间发起的一个公司内部项目,于 2013 年 3 月以 Apache 2.0 授权协议开源,主 ...

  2. Docker退出容器不关闭容器的方法

    进入docker容器后如果退出容器,容器就会变成Exited的状态,那么如何退出容器让容器不关闭呢? 如果要正常退出不关闭容器,请按Ctrl+P+Q进行退出容器,这一点很重要,请牢记! 以下示例为退出 ...

  3. docker 9 docker的容器命令

    有镜像才能创建容器,这是根本的前提 下面我们以下载一个centos镜像来做演示. [root@t-docker chenzx]# docker images REPOSITORY TAG IMAGE ...

  4. 初识Docker和安装

    什么是Docker Docker的构想是要实现“Build,Ship and Run Any App,Anywhere”,即通过对应用的封装(Packaging).分发(Distribution).部 ...

  5. docker初识-docker安装、基于docker安装mysql及tomcat、基本命令

    一.docker是什么 用go语言开发,开源的应用容器引擎,容器性能开销极低 二.整体架构图 Docker 包括三个基本概念: 镜像(Image):Docker 镜像(Image),就相当于是一个 r ...

  6. Docker重要容器命令

    镜像下载.域名解析.时间同步请点击 阿里云开源镜像站 容器重要命令 启动守护式容器 docker run -d 镜像 docker run -d image [command][arg...] 使用c ...

  7. docker进入后台运行的容器

    转载请注明出处   我们运行docker容器的时候,使用了-d参数,把容器在后台运行后. 这个时候,我们使用docker ps命令,我们就可以知道哪些程序在后台运行.   我们要怎么进入到docker ...

  8. Docker两种方式进入后台运行的容器

    1.在启动容器的时候,有时候我们加了参数-d,这时容器自动进入后台运行.如果我们要进入容器,该怎么办?通常使用docker attach命令和nsenter工具. 2.docker attach是Do ...

  9. Docker中进入容器命令行及后台运行

    Docker中我们一般会有两种执行命令的方式,一种是直接进入容器的命令行,在终端执行并查看结果,一种是在后台执行,并不会在终端查看结果. 1.进入容器命令行 su root docker run -i ...

随机推荐

  1. 如果在vscode 中用运行快捷键(Ctrl+Alt+N)出现中文的乱码

    在VSCODE中,运行代码的快捷方式是Ctrl+Alt+N,终止 代码运行的方式是Ctrl+Alt+M,但是有时候会出现汉字的乱码,这种情况并不是代码有问题,只要在terminal 中运行代码就可以了 ...

  2. php函数的巧妙应用

    直接切入正题: 1.extract();函数从数组中把变量导入到当前的符号表中 对于数组中的每个元素,键名用于变量名,键值用于变量值. 第二个参数 type 用于指定当某个变量已经存在,而数组中又有同 ...

  3. php redis使用

    访问连接 远程访问 //实例化 $redis=new Redis(); try{ $redis->connect('47.98.55.11','6379'); $redis->auth(' ...

  4. 前端Yslow的23个优化原则

    前端Yslow的23个优化原则 最常遇见的前端优化问题. Yslow是雅虎开发的基于网页性能分析浏览器插件,可以检测出网页的具体性能值,并且有著名的Yslow 23条优化规则,这23条,就够我们玩的了 ...

  5. Java数组动态增加容量

    Java数组初始化需要指定数组容量,但是在许多情况下需要动态扩充容量.有两种方法可以实现:1.采用ArrayList类数组,它可以在需要时自动扩容:2.采用System.arraycopy方法实现,其 ...

  6. Sql注入之注入点类型和是否存在注入判断

    SQL注入之判断注入类型注入类型分为数字型和字符型和搜索型例如数字型语句:select * from table where id =3,则字符型如下:select * from table wher ...

  7. Nginx 配置Websocket

    Nginx反向代理配置websocket nginx.org 官网推荐如下的配置,也可以直接看官网:http://nginx.org/en/docs/http/websocket.html http ...

  8. numpy小结(一)

    1.np.zero(10)     创建一个包含10个元素的一维数组 np.ones((10,10))     创建一个包含10*10个元素1的二维数组 2.np.arange(10,50)      ...

  9. 关于在Ubuntu中无法使用tree命令的原因

    初学linux系统的时候使用的是Ubuntu的操作系统,边看视频边学习,却发现很多命令行在自己使用的时候没有效果,只会盲目的百度,后面回过头来仔细一看才发现,原来终端早就给你答案了,只是自己一看到英语 ...

  10. Supervision meeting with Liu

    data stream;streampipe/nifi data flow:1. algorithm;;;; top-k pattern, motif and so on 2. implication ...