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

二、容器的命令选项

选项 描述
-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
容器管理之--容器管理_第1张图片
这样是交互式显示,不易来监控指标
#docker stats --help
#docker stats --no stream nginx-v1
容器管理之--容器管理

四、管理容器的常用命令

选项 描述
ls 列出容器
inspect 查看一个或多个容器详细信息
exec 在运行容器中执行命令
commit 创建一个新镜像来自一个容器
cp 拷贝文件、文件夹到一个容器
logs 获取一个容器日志
port 列出或指定容器端口映射
top 显示一个容器运行的进程
stats 显示容器资源使用统计
stop/start/restart 停止/启动一个或多个容器
rm 删除一个或多个容器

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