1. 程式人生 > >docker容器學習筆記

docker容器學習筆記

 docker是通過核心虛擬化技術來提供容器的資源隔離與安全保障。

 docker組成:

  docker client、docker server、docker元件(映象(image)、容器(container)、倉庫(repository))

 

docker與openstack比較:

  docker與OpenStack都是為web服務管理技術,作為等價替代平的docker和openstack,他們有很多不懂的地方,具體有如下幾個方面。

  1.部署難度不同:docker部署相對比較簡單,簡單的說就是把對應的web服務虛擬化成對應的image,在伺服器上可以通過幾行命令即可平滑管理服務,而openstack用到的元件相對比較多(通過前幾天的openstack部署學習openstack用到的幾個比較重要的元件有glance、keystone、nova、neutron·等等對部署要求·相對比較高)。

  ·2·、啟動速度不同,docker·屬於秒級別而·openstack資料分鐘級別

   3·、執行效能不同,docker和無·李系統幾乎一致、openstack·VM會佔用一些資源

   4. 映象提及·2不同,docker·是MB·級別,openstack是GB級別的。

   5.管理效率不同,docker管理簡單,openstack元件相互依賴管理複雜。

   6.隔離性不同,docker隔離性高、openstack徹底隔離

   7.可管理性不同,docker為單程序,不建議啟動ssh,openstack為完整的系統管理

   8,網路連線效能不同 ,docker比較弱,openstack可藉助neutron靈活元件各類網路架構

 

docker在軟體應用中改變了軟體開發的生態,對於產品,面向產品交付,對於開發,面向簡化華寧配置,對於測試,面向 多版本測試,對於運維,面向環境一致性,對於架構,面向自動化擴容(微服務)

 

docker映象管理:

  搜尋映象:docker search、獲取映象:docker pull、檢視映象:docker images、刪除映象:docker rmi、隨機對映:docker run -p、指定對映:-p hostport:containerport -p ip:hostport:containerport、-p hostport:containerport:udp/-p 81:80-p 443:443(hihi,,是不是很簡單勒,比起opensta的部署真的是簡單多了,,,)

linux與docker安裝有關的基本命令

1. yum------->Shell前端軟體包管理器 如:yum list installed(顯示yum安裝的程式(more或less命令檢視)) ,yum repolist(列出yum倉庫),yum clean all(清理yum 快取) ,yum makecache(快取yum倉庫)

2. systemctl list-unit-files docker.service(列出服務的開機狀態)

3. free -m |grep "Mem" | awk '{print $2}'(顯示當前記憶體大小)

4. 設定/etc/profile環境變數 source /etc/profile(使profile生效)

5. 網路設定ifconfig

6. Netstat 命令用於顯示各種網路相關資訊

7. du -sh : 檢視當前目錄總共佔的容量。而不單獨列出各子項佔用的容量

8. du -lh --max-depth=1 : 檢視當前目錄下一級子檔案和子目錄佔用的磁碟容量

9. vi vim文字編輯器

10. ps -aux(顯示其他使用者啟動的程序(a)檢視系統中屬於自己的程序(x)啟動這個程序的使用者和它啟動的時間(u))

11. curl -I 10.0.10.10:8000 (檢視nginx服務的狀態)

12. journalctl -f -u docker.service(檢視服務日誌)

13. systemctl stop firewalld (firewalld開啟關閉防火牆與埠)

 

docker 映象倉庫、映象、容器之間的關係

docker 開發與部署流程

docker容器與虛擬機器對比

docker安裝---(2.關閉防火牆)

docker安裝---(3.永久關閉selinux)

docker安裝---(3.1.永久關閉selinux)

docker安裝---(4.確認必要的工具)

- gcc - gcc-c++ - wget - lrzsz - telnet - net-tools - epel* - vim - unzip - ntpdate - yum-utils - device-mapper-persistent-data - conntrack-tools - libseccomp - libtool-ltdl

docker安裝---(5.安裝docker-ce-selinux)

docker安裝---(6.安裝docker-ce)

 

 

 

docker安裝---(7.啟動docker服務)

docker安裝---(8.設定docker服務自啟動)

docker安裝---(9.驗證docker)

docker安裝---(10.檢視docker日誌)

docker安裝---(11.檢視docker狀態)

docker安裝---(12.修改docker配置檔案)

docker安裝---(13.重啟docker配置)

docker安裝---(14.通過dockerfile構建映象)

docker安裝---(15.通過docker search搜尋映象)

docker安裝---(16.配置docker 快速映象庫)

docker安裝---(17.如果伺服器已安裝過docker, 請先解除安裝)

docker安裝---(18.執行一個mysql容器)

docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=kenuo --name kenuo_mysql mysql:latest

docker container ls -a

docker exec -it 547917dd4cce /bin/bash

docker安裝---(18.登入mysql容器)

docker安裝---(19.mysql容器建立常見問題)

WARNING: IPv4 forwarding is disabled. Networking will not work.

解決辦法:# vim /usr/lib/sysctl.d/00-system.conf net.ipv4.ip_forward=1

重啟network服務 systemctl restart network