docker container python
[root@localhost harbor]# docker container
Usage: docker container COMMAND
Manage containers
Commands:
attach 進入容器
commit 以一個運行中的容器爲基礎鏡像建立一個新鏡像
cp 在容器和本地文件之間拷貝文件或文件
create 建立一個新的容器
diff 查看一個容器的文件或目錄的變化
exec 在一個運行中的容器上執行一個命令
export 以一個tar包的形式導出一個容器的文件系統
inspect 顯示一個或者多個容器的詳情
kill 殺掉一個或多個運行中的容器
logs 獲取某個容器的日誌
ls 列出容器
pause 暫停一個或多個容器的全部進程
port 列出容器的端口映射或一個特定的映射
prune 刪除全部中止的容器
rename 重命名一個容器
restart 重啓一個或多個容器
rm 刪除一個或多個容器
run 在一個新容器中執行一個命令
start 啓動一個或多個容器
stats 展現一個容器的資源使用狀況
stop 中止一個或多個容器
top 展現一個容器正在運行的進程
unpause 暫停一個或多個容器的全部進程
update 更新一個或多個容器的配置
wait 鎖定一個或多個容器,而後打印出他們的退出碼
、nginx
注意:web
-t 分配一個僞終端,是爲了讓容器啓動後有一個前臺進程,由於任何一個後臺進程都須要一個前臺進程才能跑起來。docker
-d 容器在後臺運行網絡
-P 大P選型,後面不用接端口,是把容器EXPOSE的端口到宿主機的隨機端口,EXPOSE是Dockerfile裏面定義的app
-h 容器主機名,默認是一個隨機的字符串ide
--name 容器的名稱,默認是一個隨機字符串spa
-network 鏈接容器到一個網絡,好比咱們自定義一個bridege3d
-mount 將宿主機的數據掛在到容器rest
-restart always 容器退出時,會不斷的嘗試重啓
建立一個容器,容器名爲web_o1,容器主機名web_01_hostname 容器會自動啓動,訪問宿主機的2080端口便可訪問容器nginx
run -d --name web_01 -h web_01_hostname -e test=12345 --restart always -p 2088:80 nginx
驗證:
一、查看是否建立成功
二、進入容器
三、訪問服務
容器資源限制,主要是內存和cpu的限制。
-memory-swappiness :設置容器使用SWAP分區的百分比,也能夠設置爲不使用。-1是不限制,無限制使用swap,1是不使用,也就是swap和memory的值設置成同樣。不設置swap,默認是可使用物理內存的2倍。
--oom-kill-disable :宿主機有om機制,在內存不足時,會找出使用內存最多的內存並殺掉。
·-cpus:使用cpu的數量
-cpuset-cpus:設置容器可使用宿主機的哪幾個cpu
例1:建立一個容器,內存限制爲500M,swap可使用100M,om機制禁用。
[root@localhost ~]# docker run -d --name nginx01 --memory='500m' --memory-swap='600m' --oom-kill-disable nginx
15eb4507333d0ca3b9a1cee6a764bfeb041bf1ea084daaa176fe56fce3307841
docker stats 15eb4507333d
上圖能夠看出:內存限制爲500M。
例2:建立一個容器,cpu限制使用1.5
docker run -d --name nginx02 --cpus="1.5" nginx
資源限制的意義:當容器被攻擊時,即便讓容器跑滿,也不會讓宿主機崩潰。
若是設置cpus=2,則容器可能會跑到200%。
咱們在容器中新建文件(修改容器),而後退出容器。
咱們在容器中建立文件後,退出容器,而後commit,提交新的鏡像
查看鏡像
用新的鏡像啓動容器
進入容器查看是否以是新的鏡像
驗證成功。
[root@localhost ~]# docker cp /tmp/test_copy 1e7a16a5cfd8:/
將宿主機的文件拷貝到容器