《 Docker 技術入門與實戰 》讀書筆記 ( CentOS 安裝 Docker )

前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。

PS :個人所有讀書筆記只記錄個人想要的內容,很可能原書大量內容沒有納入筆記中... ...?

以下全文內容出自書目:《 Docker 技術入門與實戰 》

1. Docker 鏡像:一個只讀模板,是創建容器的基礎 。

2. Docker 容器:從鏡像創建運行的實例 ,可以看作是一個簡易版本的 Linux 系統環境 。

3. Docker 倉庫:集中存放鏡像文件的場所 。

4. Docker 目前只能運行在 64 位平臺上,并要求內核版本不低于 3.10 (可用 uname -a 或者 cat /proc/version 查看自己內核詳情)。

5. Ubuntu 安裝 Docker :apt-get install -y docker-engine? ( 見書P12 ) 。

6. CentOS 安裝 Docker :

7. docker 服務開啟/重啟方式:systemctl start docker.service? ?、 service docker restart? 。

8. 查看 docker 版本信息:? docker version 。

9. 查看鏡像 : docker images?

    -a : 列出所有鏡像。--digests=true|false :列出鏡像數字摘要,默認為否。-f ,--filter=[] : 過濾列出鏡像,如 dangling=true 只顯示沒有被使用的鏡像 。--format="TEMPLATE":控制輸出格式,如 ID 代表 ID 信息, .Repository 代表倉庫信息 。--no-trunc=true|false : 是否截斷輸出結果中太長的部分 。-q ,--quiet=true|false : 僅輸出 ID ,默認為否 。

--------------------------------------??以下更新于2018.7.9? --------------------------------------

10.? 查看鏡像創建過程: docker history? 鏡像名。

11.? 刪除鏡像: docker rmi 鏡像名、鏡像ID(當鏡像只剩下一個 tag 時會徹底刪除鏡像,命令 docker images 可查看鏡像)。

12. 查看所有容器 : docker ps -a 。

13. 鏡像導出到本地文件:docker save -o xxx.tar 原鏡像名。

14. 鏡像導入: docker load <? 鏡像名 或 docker load --input? 鏡像名,如 docker load < xxx.tar 。

?????( A導出 + B導入 + run 可以把一個工程從服務器 A 拷貝到服務器 B?并部署運行,見第 20、21 點 。)?

15. 上傳鏡像到倉庫 :docker push ,默認是上傳到 Docker Hub 官方倉庫 。

16. 創建容器 : docker? create 鏡像名,參數如下:? (另一種創建方式見第 28 點。)

    -d:后臺運行。-i:保持標準輸入打開,默認為 false 。--net="bridge" :指定容器網絡模式 。--rm=true :容器退出后自動刪除 ( 不能和 -d 同時使用 )。-t: 分配一個偽終端,默認為 false 。-v | --volume=本機目錄 : 容器目錄 : 掛載主機上文件卷到容器 。--volume-from=[ ]  : 從其它容器掛載卷 。-w | --workdir=" "  : 容器的默認工作目錄 。 -e | --env=[ ] :指定容器環境變量 。-h | --hostname=" "  : 指定容器內的主機名 。 --link=[ < name or id >:alias ] :鏈接到其它容器 。 --name=" " :指定容器名 。 

17. 終止運行中的容器 : docker stop 。

18. 進入容器以便可以執行任意命令: docker exec 容器名、id,如:docker exec -it 鏡像id /bin/bash 。參數如下:

    --privileged=true :給執行命令以最高權限,默認為 false 。-u | --user=" " :執行命令的用戶名或 ID 。-i : 開啟標準輸入 。 -t:分配偽終端,默認為 false 。

19 . 刪除容器:docker rm ,參數如下:

    -f: 強行終止并刪除運行中的容器 。-l | --link=false : 刪除容器鏈接,但保留容器 。-v | --volumes=false :刪除容器掛載的數據卷 。

20. 導出容器:docker export? 。? ??

-o 指定導出的 tar 文件,也可以直接重定向實現

? ? 如: docker export -o test.tar 容器名、id? 或 docker export 容器名、id > test.tar 。

21. 導入已導出的 tar 文件生成鏡像:docker import 。? ?

 -c | --change=[ ] 導入時執行對容器進行修改的 Dockerfile 。

? ? 如: docker import test.tar? -test/ubuntu:v1.o 。

22. docker load 和 docker impoer 區別:?

 load 命令導入鏡像存儲文件到鏡像庫,將保存完整記錄,體積大。import 命令導入一個快照到本地鏡像庫,會丟棄所有歷史記錄和元數據信息。   

23. 搭建本地私有倉庫:docker run -d -p 5000:5000 registry ,見書 P49 。

這會自動下載并啟動一個 registry 容器,創建本地的私有倉庫 。? ? ?

 -v : 將鏡像文件存放在本地指定路徑,默認是將倉庫創建在 /tmp/registry 目錄下 。

如:docker run? -d? -p? 5000:5000? -v? /opt/data/registry:tmp/registry? registry 則會將上傳的鏡像放到?/opt/data/registry 目錄下 。

24. 數據卷是可供容器使用的特殊目錄,它將主機操作目錄直接映射進容器。

-v 可以在 docker run 運行的容器內創建一個數據卷。多次重復使用則創建多個數據卷。- p 是將容器服務暴露的端口,是自動映射到本地主機的臨時端口 。   

如:docker run -d -p --name web -v /webapp train python app.py?

用鏡像 train? 創建了容器 web ,并創建了一個數據卷掛載到容器的?/webapp 目錄 。

-v 也可以指定掛載一個本地已有目錄到容器中去作為數據卷 。

掛載數據卷的默認權限是 讀寫,可以用 ro 指定為只讀,這樣容器對所掛載數據卷內的內容就不能修改了 。?

如: docker run -d -p --name web -v /src/webapp : /opt/web : ro??train python app.py?

上面是加載主機的?/src/webapp 目錄到容器的?/opt/web 目錄 ,并且是只讀 。

// 25. 利用數據卷容器來遷移數據見書 P55 。

26. 安裝 ping :apt-get install -yqq inetutils-ping 。

27. 通常 Dockerfile 分為四部分:基礎鏡像信息、維護者信息、鏡像操作指令、容器啟動時執行指令。

參數說明:

28. docker build 創建容器 :docker build Dockerfile文件名? 。

    -t:指定生成鏡像的標簽名,即 tag 。-f:若 Dockerfile 不在當前路徑下,可使用 -f 來指定 Dockerfile 路徑 。

如: docker build -t sshd:docker .? ? 最后一個“.”表示使用當前路徑下的 Dockerfile 文件 。

// 29. docker 安裝和使用各個操作系統見書 P71 。

30. 安裝 openssh-server : apt-get install openssh-server -y 。

31.?查看端口占用: netstat -tunlp 。

// 32. Docker Web 服務與應用(Apache、Nginx、Tomcat、Jetty、LAMP、CMS)見書 P83 。?

33. 安裝運行 mysql :( 使用官方鏡像快速啟動一個 mysql 服務實例 )

?????docker run --name jy_mysql -e MYSQL_ROOT_PASSWORD=123 -d? mysql:latest 。

????執行完,mysql 就在 docker 中安裝好了,可用 navicat 直接訪問 。

????本地找不到的鏡像會自動從Docker 倉庫中下載最新版本。

????進入 mysql 容器: docker exec -it jy_mysql bash ,查看日志 :docker logs jy_mysql 。

34. 安裝運行 MongoDB: docker run --name mongoDB -d mongo 。

35. 安裝運行 Redis:docker run --name redis -d redis 。

36. 安裝運行? memcache : docker run --name memcache -d memcached 。

// 37. 搭建 cassandra 集群見書 P109 。

??????????Docker 快速部署 RabbitMQ、Celery、Hadoop、Spark、Elasticsearch 見書P112 。

?

--------------------------------------??以下更新于2018.7.28? --------------------------------------

?

38.? ?Docker Compose安裝命令:sudo pip install -U docker-compose。

-f | --file :指定?compose 模板文件,默認為 docker-compose.yml ,可多次指定。-p | --projrct-name:指定項目名稱,默認使用所在目錄名稱為項目名。--x-networking :使用 docker 可插撥網絡后端特性。--x-network-driver DRIVER :指定網絡后端驅動,默認為 brige。-v | --version :輸出版本并退出。--verbose :輸出更多調試信息。

?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/449017.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/449017.shtml
英文地址,請注明出處:http://en.pswp.cn/news/449017.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

數據結構:靜態鏈表實現樹的同構

寫在最前面 按照課程講解的思路來寫&#xff0c;邏輯關系能夠理解清楚了&#xff0c;但是實際運行起來實在是有問題&#xff0c;雖然在PTA上能夠通過。但是我自己看不出問題來&#xff0c;并且&#xff0c;看了一遍又一遍仍然看不出來&#xff01;&#xff08;可能自己太笨。。…

中國人為什么學不會英語

英語永遠也學不會! 這種抱怨和哀嘆&#xff0c;大概在中國早已經司空見慣了。于是&#xff0c;有人開始計算學英語是多么大的浪費。 作為過來人&#xff0c;我對此深有體會。記得我當年也有過類似的絕望感。 但是&#xff0c;一位前輩安慰我說&#xff1a;你可以說你永遠掌…

研究人員發現:基于文本的AI模型容易受到改述攻擊

由于自然語言處理&#xff08;NLP&#xff09;的進步&#xff0c;越來越多的公司和組織開始利用AI算法來執行與文本相關的任務&#xff0c;例如&#xff1a;過濾垃圾郵件、分析社交媒體帖子和評論、評估簡歷以及檢測假新聞。 但是&#xff0c;真的可以相信這些算法能夠可靠地執…

解決 linux 下安裝 node 報: command not found

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 注意&#xff1a;有時安裝成功后,需要關閉xshell&#xff0c;重新啟動。nvm才會生效。 1. 在 linux 下安裝 node 提示 -bash: node: com…

阿里云官方網站免費套餐怎么搶

阿里云推出包含云服務器 ECS、負載均衡、云數據庫 RDS、云數據庫 Redis 版、云數據庫 Mongodb 版、彈性公網 IP、CDN、對象存儲 OSS、文件存儲 NAS等40核心云產品&#xff0c;6個月免費使用何為免費套餐&#xff0c;其實就是讓你先體驗&#xff0c;覺得好用&#xff0c;易用&am…

1003 我要通過

1003 我要通過&#xff01; (20 分)“答案正確”是自動判題系統給出的最令人歡喜的回復。本題屬于 PAT 的“答案正確”大派送 —— 只要讀入的字符串滿足下列條件&#xff0c;系統就輸出“答案正確”&#xff0c;否則輸出“答案錯誤”。 得到“答案正確”的條件是&#xff1a; …

在英特爾? 凌動? 處理器上將 OpenGL* 游戲移植到 Android* (第一部分)

將游戲和其他使用大量 3D 圖形的應用從 OpenGL 標準移植到 Google Android 設備&#xff08;包括構建在英特爾 凌動? 微架構上的設備&#xff09;存在巨大的機遇&#xff0c;因為基于 OpenGL 的游戲、游戲引擎和其他傳統軟件易于獲得&#xff1b;OpenGL 便于移植&#xff1b;而…

文件系統:使用 yum 安裝軟件包

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 一、yum命令的基本安裝功能 [rootlocalhost ~]# man yum command is one of: * install package1 [package2] [...]&#xff1a; ins…

elasticsearch全局analyzer聲明

2019獨角獸企業重金招聘Python工程師標準>>> 問題 elasticsearch從2.4升級到5.6&#xff0c;elasticsearch.yml配置中有一些analyzer配置拷貝到新版本&#xff0c;啟動報錯 index :analysis :analyzer :lowercase_whitespace :type : customtokenizer : myTokenizer…

Parallels Desktop虛擬機無法關機提示“虛擬機處理器已被操作系統重置”

如果你在使用PD的時候遇到了這樣子的彈窗&#xff0c;恭喜你篇博文可以幫助你&#xff0c;因為我剛剛也遇到了這個問題。如果有幫助可以點一下推薦按鈕。 針對Windows電腦 啟動虛擬機創建快照使用管理員權限運行命令提示符執行powercfg -h off重啟試試成功了再刪除快照即可修改…

linux下安裝 ping 命令

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 使用docker倉庫下載的ubuntu 14.04 鏡像。里面精簡的連 ping 命令都沒有。google 百度都搜索不到ping 命令在哪個包里。 努力找了半天&…

揚尼斯定律:程序員的開發效率每6年提高一倍

我不斷的聽到各種關于“軟件危機”的警言&#xff0c;以及關于軟件開發缺少過程規范的批評。我做編程工作超過15年&#xff0c;我認為這些言論基本上都是錯的&#xff1a;我確信我能在很短的時間里用如今的開發工具復制出15年前一個不錯的程序員開發出的東西。 模仿摩爾定律和…

ApiBoot - ApiBoot Quartz 使用文檔

ApiBoot Quartz ApiBoot內部集成了Quartz&#xff0c;提供了數據庫方式、內存方式的進行任務的存儲&#xff0c;其中數據庫方式提供了分布式集群任務調度&#xff0c;任務自動平滑切換執行節點。 引用ApiBoot Quartz 在pom.xml配置文件內添加&#xff0c;如下配置&#xff1a; …

《算法競賽進階指南》0.4二分

102. 最佳牛圍欄 農夫約翰的農場由N塊田地組成&#xff0c;每塊地里都有一定數量的牛,其數量不會少于1頭&#xff0c;也不會超過2000頭。 約翰希望用圍欄將一部分連續的田地圍起來&#xff0c;并使得圍起來的區域內每塊地包含的牛的數量的平均值達到最大。 圍起區域內至少需要包…

Hibernate 自動創建表

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 1. 在 hibernate.cfg.xml 添加這句話&#xff0c;可以自動生成數據表 : <property name"hibernate.hbm2ddl.auto">upd…

程序員越老越優秀嗎?

Peter Knego 向我們展示了一些有趣的東西&#xff1a; 官方數據&#xff1a;程序員年紀越大越出色、越稀有。他使用StackOverflow的聲譽值和其它幾個指標來印證他的觀點。 他的總結是&#xff1a; 隨著年齡的增加&#xff0c;程序員的數量急劇下降。程序員數量的峰值出現在2…

小程序學習(一):點擊愛心變色 -- 最簡單的事件實現

最近在學習小程序&#xff0c;想通過寫文章來記錄自己的學習歷程&#xff0c;希望能做到每周都寫…… 如何綁定一個事件 微信小程序中&#xff0c;綁定事件要在標簽內寫入這兩段代碼&#xff1a; bindtap"fnActive" data-favourite "{{isLike}}" 復制代碼…

安全通信

安全通信 應用層協議大多數自己都沒有實現加解密功能&#xff0c;比如http等。http就是直接把數據加載進來然后做簡單編碼&#xff08;也就是流式化&#xff09;然后響應客戶端&#xff0c;然后數據在瀏覽器展示&#xff0c;這個數據在傳輸過程是明文的&#xff0c;你截獲就可以…

出現 java.lang.NullPointerException 的幾種原因、可能情況

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。一般報 java.lang.NullPointerException的 原因有以下幾種&#xff1a;1. 字符串變量未初始化 。 2. 接口類型的對象沒有用具體的類初始化…

純JPA 入門小案例(2)

2019獨角獸企業重金招聘Python工程師標準>>> JPA中的主鍵生成策略 通過annotation&#xff08;注解&#xff09;來映射hibernate實體的,基于annotation的hibernate主鍵標識為Id, 其生成規則由GeneratedValue設定的.這里的id和GeneratedValue都是JPA的標準用法。 JPA…