centos7下安装docker(11容器操作总结)

时间:2021-12-15 13:30:18

这段时间主要是学习了对容器的操作,包括:容器的状态:start,stop,restart,rename,pause,unpause,rm,attach,exec,kill,logs;还学习了对容器的资源进行限制的操作,包括:CPU(- c),内存(-m   --memory-swap),blkio IO(--device-weight),知道了容器的cpu和blkio io的限制是根据权重来限制的,这种权重体现在资源紧缺的情况下,而内存的限制是由物理内存和swap内存来限制的,如果不设置--memory-swap的情况下,--memory-swap是-m的两倍;还学习了容器的底层技术cgroup和namespace,cgroup:是对资源的限制,-c,-m,--device-weight就是对cgroup控制的,可以在host上的/sys/fs/cpu/docker/PID下的cpu.shares进行查看;namespace:对资源进行隔离,包括6种资源:mount namespace容器文件系统,user spacename容器用户,PID容器进程,UTS容器hostname,network namespace容器网络资源,IPC容器共享内存和信号量。

下面总结一下这段时间的命令

docker attach  进入容器

docker exec -it <container-name> bash 以交互方式打开一个容器的终端

docker start 开始容器

docker stop停止容器

docker kill停止容器,比docker stop快

docker create创建容器

docker pause暂停容器

docker unpause不暂停容器

docker rm删除容器

docker rmi删除镜像

docker run -d --name docker1 -c 300 -m 300M --memory-swap 400M --blkio-weight  300 -h docker progrium/stress --vm 1 --vm-bytes 280M --cpu 8

-d:后台运行容器

-c:cpu权重设置为300

-m:容器内存限制为300M

--memory-swap容器的总内存为400M

--blkio-weight:容器blkio io权重为300

-h:容器的hostname是docker

--name 容器名字是docker1

progrium/stress:压测镜像

--vm 1:打开一个进程

--vm-bytes:每秒写入的字节数

--cpu  :针对几颗cpu

--device-read-bps:容器磁盘读入的数据量

--device-write-bps:容器磁盘写入的数据量

--device-read-iops:容器磁盘读入的io速度

--device-write-iops:容器磁盘写入的io速度

docker rm -v $(docker ps -aq -f --status=exited)批量删除容器

-v:删除容器在host上面的volume

-q:显示容器的ID

-f:强制删除容器,包括运行状态的容器

docker stop $(docker ps -aq):批量停止容器

docker logs -f:查看容器的日志

-f:持续打印