2.Docker入门到精通—常用命令( 二 )


-i:以交互模式运行容器 , 通常与 -t 同时使用;
-t:为容器重新分配一个伪输入终端 , 通常与 -i同时使用;也即启动交互式容器(前台有伪终端 , 等待交互);
-P: 随机端口映射 , 大写P
-p: 指定端口映射 , 小写p
新建容器
新建指定的名字的容器
查看当前容器
启动交互式容器(前台命令行)
#使用镜像:以交互模式启动一个容器,在容器内执行/bin/bash命令 。
docker run -it ubuntu /bin/bash
参数说明:
-i: 交互式操作 。
-t: 终端 。
:镜像 。
/bin/bash:放在镜像名后的是命令 , 这里我们希望有个交互式 Shell , 因此用的是 /bin/bash 。
要退出终端 , 直接输入 exit:
3.3 列出当前正在运行的所有容器
docker ps [OPTIONS]
说明(常用):
-a :列出当前所有正在运行的容器+历史上运行过的
-l :显示最近创建的容器 。
-n:显示最近n个创建的容器 。
-q :静默模式 , 只显示容器编号 。
3.4 退出容器
1.退出容器 , 容器停止:exit2.退出容器 , 容器不停止快捷键 ctrl+p+q
3.5 启动已停止容器
docker start 容器ID或者容器名
3.6 重启容器
docker restart 容器ID或者容器名
3.7 停止容器
docker stop 容器ID或者容器名
3.8 强制停止容器
docker kill 容器ID或容器名
3.9 删除容器
删除已停止的容器:docker rm 容器ID强制删除正在运行的容器docker rm -f 容器名/容器ID一次性删除多个容器实例docker rm -f $(docker ps -a -q)(强制删除多个容器:包括正在运行的)docker ps -a -q | xargs docker rm(强制删除多个容器:只删除已停止的)
【重要】 启动守护式容器(后台服务器)
有镜像才能创建容器 , 这是根本前提(下载一个.0.8镜像演示)
在大部分的场景下, 我们希望的服务是在后台运行的,我们可以过 -d 指定容器的后台运行模式 。
docker run -d centos
#使用镜像:以后台模式启动一个容器
run -d
问题:然后 ps -a 进行查看, 会发现容器已经退出
很重要的要说明的一点: 容器后台运行,就必须有一个前台进程.
容器运行的命令如果不是那些一直挂起的命令(比如运行top , tail) , 就是会自动退出的 。
这个是的机制问题,比如你的web容器,我们以nginx为例 , 正常情况下,
我们配置启动服务只需要启动响应的即可 。例如 nginx start
但是,这样做,nginx为后台进程模式运行,就导致前台没有运行的应用,
这样的容器后台启动后,会立即自杀因为他觉得他没事可做了.
所以 , 最佳的解决方案是:
将你要运行的程序以前台进程的形式运行 , 
常见就是命令行模式 , 表示我还有交互操作 , 别中断
redis前后台启动演示case:
前台交互式启动:docker run -it redis:6.0.8