命令:docker ps [options]linux
options有:docker
-a:查看全部容器,包含不在運行中的(不帶-a參數,是隻顯示運行中的容器)bash
-q:只顯示容器ID服務器
-s:多加一列來顯示總文件大小網絡
-l:顯示最近建立的容器(docker ps -l)app
-n:顯示最近建立的n個容器(docker ps -n 3, 顯示最近建立的3個容器)ui
--filter:根據條件過濾(不經常使用,容器數量沒大到那種程度須要用過濾器才能找到。)spa
docker run [options] 鏡像名或鏡像ID [command] [agrs]rest
數據卷是一種技術,而不是某一個東西。日誌
簡單理解就是,將本機的某一個目錄映射到某一個或者多個容器的某目錄。這樣在本機修改代碼,就能夠直接用容器跑代碼
數據卷 是一個可供一個或者多個容器使用的特殊目錄,它繞過UFS,能夠提供不少有用的特性:
注意:數據卷 的使用,相似linux下對目錄或者文件進行mount,鏡像中的被指定爲掛載點的目錄中的文件會隱藏掉,能顯示看的是掛着的 數據卷。
在用鏡像來建立一個容器的同時,指定「-v」參數來指定目錄映射
準備:受權本地磁盤
命令:docker run -v 本地目錄:容器目錄 鏡像名稱或鏡像ID
若是要同時掛載多個目錄,能夠執行多個 -v 便可,如:
docker run -v 本地目錄1:容器目錄1 -v 本地目錄2:容器目錄2 鏡像名稱或鏡像ID
命令:docker start 容器ID或容器名
一個容器已經經過鏡像建立成功了,可是當初建立的時候,因爲考慮不周,忘了一些參數(好比開機啓動),這時候能夠經過 update 命令來更新容器。
命令:docker update [options] 容器名或容器ID
--blkio-weight(uint16): Block IO (relative weight), between 10 and 1000, or 0 to disable (default 0)
--cpu-period(int): Limit CPU CFS (Completely Fair Scheduler) period
--cpu-quota(int): Limit CPU CFS (Completely Fair Scheduler) quota
--cpu-rt-period(int): Limit the CPU real-time period in microseconds
--cpu-rt-runtime(int): Limit the CPU real-time runtime in microseconds
--cpu-shares(int): CPU shares (relative weight)
--cpus(decimal): Number of CPUs
--cpuset-cpus(string): CPUs in which to allow execution (0-3, 0,1)
--cpuset-mems(string): MEMs in which to allow execution (0-3, 0,1)
--kernel-memory(bytes): Kernel memory limit
--memory bytes Memory limit
--memory-reservation(bytes): Memory soft limit
--memory-swap(bytes): Swap limit equal to memory plus swap: '-1' to enable unlimited swap
--restart(string): Restart policy to apply when a container exits
命令:docker stop [options] 容器名或者容器ID
options有:
-t:殺死容器進程前,給予容器用來中止的時間(默認是10秒)
命令:docker restart [options] 容器名或容器ID
options有:
-t:殺死容器進程前,給予容器用來中止的時間(默認是10秒)
即便容器是關閉狀態,也能夠重啓,這點不像supervisor,supervisor的進程是關閉狀態的話,則沒法restart,只能start
命令:docker rm [options] 容器名或容器ID
options有:
-f:強制刪除容器(默認狀況下,只有是中止狀態的容器才能夠刪除,可是帶上-f後,能夠直接刪除在運行中的容器)
-l:移除容器間的網絡連接,而非容器自己(不懂,好像也用的少)
-v:刪除與容器關聯的卷(這個仍是能夠有的)
命令:docker rm -f $(docker ps -a -q)
不是什麼新的知識點
命令:docker exec [options] 容器名或容器ID [command]
通常是:docker exec -it 容器名或容器ID /bin/bash ,用於進入容器,是否真的能在外面作到其餘的操做,暫未可知,我是驗證了:docker exec 容器名 echo "hello world">test.txt ,未成功
命令:docker logs 容器名或容器ID
命令:docker cp 主機文件 容器ID或容器名:容器目錄
有點相似本機與遠程服務器之間的內容拷貝:scp 本機文件 遠程服務器:目錄
命令:docker cp 容器ID或容器名:目錄/文件 本機目錄