docker之容器管理

創建容器

語法

docker run [OPTIONS] IMAGE [COMMAND] [ARG...]

常用選項

--name string : 給啓動的容器 起一個名字,如果不使用 –name 。docker的守護進程會自動給容器命名

-d, --detach :讓容器在後臺運行,用於運行服務

-i, --interactive :交互式

-t, --tty :分配一個僞終端

--rm :容器運行介紹後自動刪除

-e, --env :設置環境變量

-p, --publish list :發佈容器端口到主機

-P, --publish-all :發佈容器所有EPOSE的端口到宿主機隨機端口

-h, --hostname :設置容器主機名

--ip string :指定容器IP,只能用於自定義網絡

--network :連接容器到一個網絡

--mount mount :將文件系統附加到容器

-v, --volume list :綁定掛載一個卷

--volumes-from

容器運行資源限制選項

#內存限額

-m, --memory:內存限額

--memory-swap:內存+swap限額,默認爲2倍-m大小

#cpu限額

-c, --cpu-share: cpu資源提供給一組容器使用,組內的容器按比例使用cpu資源,當容器處於空閒狀態時,cpu資源被負載大的容器佔用,(按壓縮方式比例分配),當空閒進行運行起來時,cpu資源會被分配到其他容器

--cpu : 指定 cpu的核心數量,這種方式直接限定了容器可用的cpu資源

--cpuset-cpus: 指定容器只能運行在哪個cpu核心上(綁定cpu);核心使用0,1,2,3編號;–cpu-share會隨機指定cpu

#block IO限額

--blkio-weight :io權重,默認500

--device-read-bps:按每秒讀取塊設備的數據量設定上限

--device-write-bps:按每秒寫入塊設備的數據量設定上限

--device-read-iops:按照每秒讀操作次數設定上限

--device-write-iops:按照每秒寫操作次數設定上限

例子

  1. docker run --rm centos /bin/echo "hello world"

在這裏插入圖片描述

  1. docker run -t -i --name mydocker centos /bin/bash

在這裏插入圖片描述

查看容器

  1. docker ps:查看正在運行的容器

  2. docker ps -a:查看所有狀態的容器

  3. docker ps -l :可以查看你最後一個運行的容器

  4. docker ps -a -q:查看所有容器的ID

運行容器

docker start 容器ID/名稱:啓動一個未運行(已停止)的容器

停止容器

  1. docker stop 容器ID/名稱:發送一個命令等待容器停止: 有等待時間

  2. docker kill 容器ID/名稱: 直接停止容器:沒等待時間

這兩個的區別相當於kill和kill -9的區別

暫停/喚醒容器

暫停容器:docker pause 容器ID/名稱

喚醒容器:docker unpause 容器ID/名稱

進入容器

方法一:通過docker attach 容器名(exit容器退出)

在這裏插入圖片描述

方法二:通過nsenter(推薦,exit容器不會關閉)

#首先要安裝util-linux
yum install util-linux
#獲取容器的pid
docker inspect -f "{{ .State.Pid }}" mydocker
#使用nsenter進入容器
nsenter -t PID -m -u -i -p -n
-t:指定PID
-m:進入Mount Namespace
-u:進入ust namespace
-i:進入IPC namespace
-p:進入到pid namespace
-n:進入到network namespace


#我們可以編輯一個腳本,直接用腳本進入
#!/bin/bash
CPID=`docker inspect -f "{{ .State.Pid }}" $CID`
nsenter -t CPID -m -u -i -p -n

方法三:通過docker exec(推薦,exit容器不會關閉)

docker exec 容器ID/名稱 命令

在這裏插入圖片描述

刪除容器

刪除容器:docker rm 容器名/ID

強制刪除:docker rm -f 容器名/ID

容器狀態機

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章