docker之容器管理
一、docker常用的创建命令
[root@node03 ~]# docker create --help
[root@node03 ~]# docker run --help
OPTIONS说明:
-
-a stdin: 指定标准输入输出内容类型,可选 STDIN/STDOUT/STDERR 三项;
-
-d: 后台运行容器,并返回容器ID;
-
-i: 以交互模式运行容器,通常与 -t 同时使用;
-
-p: 端口映射,格式为:主机(宿主)端口:容器端口
-
-t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用;
-
--name="nginx-lb": 为容器指定一个名称;
-
--dns 8.8.8.8: 指定容器使用的DNS服务器,默认和宿主一致;
-
--dns-search example.com: 指定容器DNS搜索域名,默认和宿主一致;
-
-h "mars": 指定容器的hostname;
-
-e username="ritchie": 设置环境变量;
-
--env-file=[]: 从指定文件读入环境变量;
-
--cpuset="0-2" or --cpuset="0,1,2": 绑定容器到指定CPU运行;
-
-m :设置容器使用内存最大值;
-
--net="bridge": 指定容器的网络连接类型,支持 bridge/host/none/container:<name|id> 四种类型;
-
--link=[]: 添加链接到另一个容器;
-
--expose=[]: 开放一个端口或一组端口;
一、实例演示
1.容器挂了之后,不断的去重启容器
[root@node03 ~]# docker run -itd --restart always ubuntu
2、容器挂了之后,重启3次就不再重启了
[root@node03 ~]# docker run -itd --restart on-failure:3 ubuntu
3、设置文件数
[root@node03 ~]# docker run -itd --ulimit nproc=10240 --ulimit nofile=10240 ubuntu
4、docker列出所有进程ID
docker ps -q -a
5、删除所有容器。
[root@node03 merged]# docker rm -f $(docker ps -q -a)
二、ps 的用法
1. 最常见的用法
$ docker ps
显示当前正在运行的容器。
在 PORTS 一列,如果暴露的端口是连续的,还会被合并在一起,例如一个容器暴露了3个 TCP 端口:100,101,102,则会显示为 100-102/tcp。
2. 显示所有状态的容器
$ docker ps -a
容器的状态共有 7 种:created|restarting|running|removing|paused|exited|dead。
3. 显示最后被创建的 n 个容器
$ docker ps -n 3
注意,这里不限状态。
4. 显示最后被创建的容器
$ docker ps -l
相当于 docker ps -n 1。
5. 显示完整输出
$ docker ps --no-trunc
即不会截断输出。该选项有点长,其中 trunc 算是 truncate 的缩写。
6. 只显示容器 ID
$ docker ps -q
清理容器时非常好用,filter 过滤显示一节有具体实例。
7. 显示容器文件大小
$ docker ps -s
该命令很实用,可以获得 2 个数值:一个是容器真实增加的大小,一个是整个容器的虚拟大小。
查看源码(https://github.com/moby/moby/blob/master/daemon/getsize_unix.go)后可知,容器虚拟大小 = 容器真实增加大小 + 容器镜像大小。
三、rename 重命名
[root@node03 merged]# docker rename reverent_babbage zoulixiang
2.容器的详细信息
[root@node03 merged]# docker inspect zoulixiang
3、显示容器下面的目录
非标准格式输出
-it :标准格式输出
4、显示当前容器运行的进程
docker top zoulixiang
5、显示当前容器对外映射的端口
[root@node03 merged]# docker port zoulixiang
6、将本地文件cp 到容器中
[root@node03 ~]# docker cp test.txt zoulixiang:/home
7、输出日志信息
[root@node03 ~]# docker logs zoulixiang
8、动态查看当前容器利用率
[root@node03 ~]# docker stats zoulixiang
9、静态输出当前容器利用率,方便shell脚本收集信息
[root@node03 ~]# docker stats --no-stream zoulixiang
10、输出当前docker 整体的事件
docker events zoulixiang