前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。
PS :個人所有讀書筆記只記錄個人想要的內容,很可能原書大量內容沒有納入筆記中... ...?
1. 可用 docker info 查看程序是否正常工作。
2. docker run 如果本地沒有對應鏡像,會從Docker 官方倉庫 Docker Hub 下載該鏡像。
docker run 命令會覆蓋 CMD (見第19條)指令。
docker run?參數說明: (此項是從書中多個地方整理而成,實際書中對此命令各個參數的講解分布在多個章節中)
-i :開啟標準輸入。-t :創建偽 tty 終端。 -it :合起來實現和容器交互的作用,運行一個交互式會話 shell 。(參見第 5 點)-d : 后臺運行。-g:前臺運行。-w:運行時覆蓋工作目錄。-e:設置環境變量。-p:小寫 p 是指定要映射的端口 ,大寫 P 則是隨機映射一個在范圍 49000~49900 內的端口到內部容器開放的網絡端口 。如: -p 8080 : 80 。( 端口指定有三種格式,這只是其中一種 )。--name:給容器命名,容器命名必須是唯一的。--rm:只用一次就刪除。( 容器進程運行完后會自動刪除容器。)-h:設置容器主機名,如 docker run -h 主機名 ... -v: 掛載,用冒號“:”分隔,形如 源目錄:容器內目錄,若容器目錄不存在,Docker 會自動創建一個。 可在容器目錄后加上 rw(可讀可寫) 或者 ro(只讀) 指定容器內目錄的讀寫狀態。--net:指定容器運行于哪個網絡。如:docker network connect app db,把已有容器 db 添加到 app 網絡。docker run --net=app --name=db 鏡像名。--link:創建兩個容器間的客戶-服務鏈接,這個標志還需要2個參數:要鏈接的容器的名字、鏈接別名。如:docker run --link redis : db 鏡像名。--volumes-from:把指定容器中的所有卷加入新創建的容器中,如 docker run --volumes-from 已存在容器 ...--restart=always : 無論容器退出代碼是什么,Docker 都會自動重啟該容器。--restart=on-failure : 只有當退出代碼非 0 才自行重啟。--restart=on-failure:5 :退出代碼非 0 時,自行重啟,最多重啟5次 。
3. docker ps : 查看容器。??
-a :所有 。-l:列出最后一個運行的容器。-q:只顯示容器 ID。
4. 啟動容器:docker start 。重啟:docker restart 。
5.?運行一個交互式會話 shell :docker attach ,退出 shell 容器停止運行 。 ( 要保留容器運行可用 exec 命令,見第7點。)
6. 日志跟蹤: docker logs -ft --tail=1000 容器ID/容器名。??
-f : 刷新最新日志。-t:為每條日志加上時間戳。--tail=1000 輸出最新1000行日志內容。
7. 在容器中運行后臺任務:docker exec -d 容器名 touch /etc/new_file。? ?-d : 后臺運行。這樣就在運行的容器內創建了一個空文件:/etc/new_file。exec 可在運行中的容器中執行維護、監控、管理等任務。
8. docker inspect : 返回容器配置信息。
9. 停止容器:docker stop?容器id/容器名 或者 docker kill?容器id/容器名 。
10. 刪除容器:docker rm 容器id/容器名。刪除前必須停止容器。
-f :強制刪除運行中的容器。
11.docker 鏡像是由文件系統疊加而成。位于下層的鏡像稱為父鏡像,最底層的為基礎鏡像。
12. 列出鏡像:docker images 鏡像名 。不跟鏡像名則查看所有鏡像。通常鏡像都有一個標簽:tag 。
13. 拉取鏡像: docker pull 鏡像名:鏡像 tag ,如:docker pull ubuntu:12.4 。不帶 tag 則拉取最新鏡像。
14.用戶倉庫命名:用戶名:倉庫名。
15. 查找鏡像:docker search 鏡像名。會查找所有帶有這個名字的鏡像。? ?
-s N :指定顯示評價為 N 星以上的鏡像。
16. 提交鏡像:docker commit 。
-m:說明信息 。
-a:提交人,作者信息。
17. 構建鏡像:docker build Dockerfile 。(Dockerfile 見第19條)? ?? ?
--expose 指定對外公開的端口。-t : 設置倉庫和鏡像名。如:-t="jam/my_web" 倉庫為 jam,鏡像名為 my_web 。-f:指定 Dockerfile 的路徑,默認使用當前路徑下的 Dockerfile 文件。--no-cache :忽略構建緩存。(默認如果緩存中已有部分鏡像層則不會從第一層鏡像開始構建)。
18. 查看容器端口映射: docker port 容器id/容器名 端口號。如: docker port? 6751rerefggf 80 。
19.??Dockerfile 中指令:?
RUN 會在當前容器中運行的指令。
ENV:設置環境變量。
CMD:容器啟動時運行的指令,如果有多條,只有最后一條生效。
ADD :用來把建路徑下的文件和目錄復制到鏡像中。
LABEL:為 Docker 鏡像添加元數據。
----------------------------------------- 以下更新于 2018.7.8?-----------------------------------------?
20. Dcocker push 鏡像名:推送鏡像。
21. 卷是在一個或者多個容器內為 Docker 提供持久數據或者共享數據的目錄。? ? ??? ?? ??
1)卷可以在容器間共享和重用,可以掛載到任意容器。2)共享卷時不一定要運行相應容器。3)對卷的修改會直接在卷上反映出來,可以在不提交鏡像修改情況下向鏡像中加入數據,并在容器間共享這些數據。4)更新鏡像不會修改卷。5)卷會一直存在,直到沒有任何容器使用它們。
// 22.? Docker 和 Jenkins 持續集成見書 P132 。
23.? docker kill -s <signal> <container> : 發送信號 。發送指定信號給容器。
// 24. Docker Compose 編配和集群見書 P186 。
25.? 服務發現是分布式應用程序之間管理相互關系的一種機制,服務發現允許某個組件(分布式多個應用中的某一個應用)要想要與其它交互時,自動找到對方。服務發現作為分布式不同組件之間的膠水,其本身還需要足夠動態、可靠、適用性強,并可快速一致地共享各個服務的數據。
26. Consul 是一個使用一致性算法的特殊的數據存儲器,可作為服務發現的工具。使用方式見書 P197。
27. Docker Swarm 是一個原生的 Docker 集群管理工具。詳解見書 P221 。
28. 重新加載啟動 Docker 守護進程: systemctl --system deamon-reload 。
29. 在 Ubuntu 上安裝 git : apt-get -y install git make 。
30. 在 Red Hat 及其相關衍生版本上安裝 git : yum install git make 。
31. 從容器中退出命令: Ctrl + D 或者 exit 。
32. 開啟、關閉 docker : service docker start? 、? service docker stop 。
?
更多相關內容參見:《Docker 技術入門與實戰》
?
?
?
?