一、容器管理
容器是镜像运行后的一种状态,一个镜像可以创建多个容器,镜像是不可写的,一旦运行后成容器就变成可写的状态;容器也可以导出、导入。

二、容器的命令选项

选项

描述

-i,--interactive

交互式

-t,--tty

分配一个伪终端

-d,--detach

运行容器到后台

-e,--env

设置环境变量

-p,--publish list

发布容器端口到主机

-P,--publish-all

发布容器所有EXPOSE的端口到宿主机随机端口

--name string

指定容器名称

-h,--hostname

设置容器主机名

--ip string

指定容器IP,只能用于自定义网络

--network

连接容器到一个网络

--mount mount

将文件系统附加到容器

-v ,--vloume list

绑定挂载一个卷

--restart string

容器退出时重启策略,默认no,可选值[always

on-failure]

例:
docker run -itd -e hello=123 -e abc=123 -p 88:80 --name=nginx-v1 -h nginx-test --restart=always nginx
解析:
-itd 交互、伪终端、后台运行
-e 环境变量
-p 宿主机的88端口映射容器的80端口
--name 定义容器名字为nginx-v1
-h 定义容器主机名为nginx-test
--restart=always 当容器退出时,尝试重启,开机启动的意思
nginx 最后跟镜像名称

三、容器资源限制

选项

描述

-m,--memory

容器可以使用的最大内存量

--memory-swap

允许交换到磁盘的内存量

--memory-swappiness=<0-100>

容器使用SWAP分区的百分比

--oom-lill-disable

禁用OOM Killer

--cpus

可以使用的CPU数量

--cpuset-cpus

限制容器使用特定的CPU核心,如(0-3,0,1)

--cpu-shares

cpu共享(相对权重)

例:
#docker run -d -m 512M nginx-v1
#docker run -d --cpus='1.5' nginx
内存限额
允许容器最多使用500M内存和100M的Swap,并禁用OOM Killer:
docker run -d --name nginx03 --nemory="500m" --memory-swap="600m" --oom-kill-disable nginx
CPU限额:
允许容器最多使用一个半CPU
docker run -d --name nginx04 --cpus="1.5" nginx
允许容器最多使用50%的CPU
docker run -d --name nginx05 --cpus="0.5" nginx

查看docker容器占用宿主机资源

#docker stats nginx-v1

docker 容器中的常量暴露到宿主机 docker 容器数量上限_docker


这样是交互式显示,不易来监控指标

#docker stats --help

#docker stats --no stream nginx-v1

docker 容器中的常量暴露到宿主机 docker 容器数量上限_docker_02

四、管理容器的常用命令

选项

描述

ls

列出容器

inspect

查看一个或多个容器详细信息

exec

在运行容器中执行命令

commit

创建一个新镜像来自一个容器

cp

拷贝文件、文件夹到一个容器

logs

获取一个容器日志

port

列出或指定容器端口映射

top

显示一个容器运行的进程

stats

显示容器资源使用统计

stop/start/restart

停止/启动一个或多个容器

rm

删除一个或多个容器

查看容器中的目录
#docker exec id ls
进入容器
docker exec -it id bash