centos7下安裝docker(11容器操作總結)
這段時間主要是學習了對容器的操作,包括:容器的狀態: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:持續打印
centos7下安裝docker(11容器操作總結)