三、Docker容器管理

1、容器建立

 一、建立命令

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

  

 

驗證:

一、查看是否建立成功

二、進入容器

 

三、訪問服務

2、容器資源限制

容器資源限制,主要是內存和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%。

 

 

3、管理容器

一、管理容器經常使用選項

 

a、docker  container ls 

 

b、docker inspect 

 

c、docker exec

 

d、docker commit 

咱們在容器中新建文件(修改容器),而後退出容器。

 

咱們在容器中建立文件後,退出容器,而後commit,提交新的鏡像

 查看鏡像

 

 用新的鏡像啓動容器

 

進入容器查看是否以是新的鏡像

驗證成功。

 

e、docker  cp

[root@localhost ~]# docker cp /tmp/test_copy 1e7a16a5cfd8:/

  

將宿主機的文件拷貝到容器

 

f、docker logs  查看容器訪問日誌

g、docker port 查看容器的端口

 

h、docker  stats  查看容器資源使用狀況

i、docker  start/stop 啓動和中止容器

j、docker rm  刪除中止的容器,-f 強制刪除容器

k、docker top 查看容器中運行的進程

l、docker rename  重命名容器

m、docker update更新容器配置

相關文章
相關標籤/搜索