docker 基本引數與使用
Docker的應用場景
1.簡化配置,同一Docker的配置可以在不同 環境中使用,降低了硬體要求和應用環境之間的耦合度. 2.程式碼的流水線管理.程式碼從開發者的假期到最終在生產環境上的部署,需要經過很多的中間環境.而每一箇中間環境都有自己微小的蛤貝,Docker給應用提供一個從開發到上線均一致的環境,讓程式碼的流水線變得簡單. 3.提高開發效率 4.隔離應用,使應用鬆耦合 5.快速部署 docker [CMD] [options]
基本命令與釋義 attach:進入到正在執行的容器 build:由Dockerfile構建映象 commit:由容器的改變建立一個新的映象 cp:在容器中複製檔案或資料夾到本地檔案或資料夾中. logs:獲取容器日誌 network:管理Docker網路 node:管理Docker叢集節點 pause:暫停一個或多個容器內的所有程序 port:列表埠對映或用於容器的特定的對映 ps:列出容器 pull:從映象倉庫中拉出映象 push:上傳映象 rename:重新命名映象 restart:重啟一個容器 rm :刪除容器 rmi:刪除映象 run:在容器中執行命令 search:在Docker Hub中查詢映象 service:管理Docker服務 start:啟動停止的容器 stats:顯示容器的實時流資源使用統計資訊 stop:停止正在執行的容器 swarm:管理Docker叢集 tag:將映象標記到儲存庫中 top:顯示容器的正在執行的程序 volume:管理Docker卷
常用引數與釋義(主要介紹docker run)
-a stdin: 指定標準輸入輸出內容型別,可選 STDIN/STDOUT/STDERR 三項; -d: 後臺執行容器,並返回容器ID; -i: 以互動模式執行容器,通常與 -t 同時使用; -t: 為容器重新分配一個偽輸入終端,通常與 -i 同時使用; --name=”nginx-lb”: 為容器指定一個名稱; --dns 8.8.8.8: 指定容器使用的DNS伺服器,預設和宿主一致; --dns-search example.com: 指定容器DNS搜尋域名,預設和宿主一致; -h “mars”: 指定容器的hostname; -e username=”ritchie”: 設定環境變數; --env-file=[]: 從指定檔案讀入環境變數; --cpuset=”0-2” or –cpuset=”0,1,2”: 繫結容器到指定CPU執行; -m :設定容器使用記憶體最大值; --net=”bridge”: 指定容器的網路連線型別,支援 bridge/host/none/Container: 四種類型; --link=[]: 新增連結到另一個容器; --expose=[]: 開放一個埠或一組埠;
1.安裝Docker
yum -y install docker-io
2.加入開機啟動
chkconfig docker on
3.啟動Docker
service docker start
4.下載映象
docker pull elasticsearch:5.6.4
5.檢視本地映象
docker images
6.啟動容器
docker run -p 9200:9200 --name es elasticsearch:5.6.4
執行容器,並命令列進入容器
docker run -i -t tomcat /bin/bash
7.檢視容器
docker ps
搭建本地映象倉庫
倉庫IP 192.168.247.142
1.拉取registry映象
2.啟動映象倉庫容器並且對映虛擬機器埠5000和容器埠5000
3.將本地目錄/opt/data/registry掛載到容器內目錄/tmp/registry中
4.用busybox做試驗
5.在需要拉取映象的虛擬機器上建立/etc/docker/daemon.json(這一步很關鍵,解決的http和https服務衝突問題)
6.向私有倉庫中上傳映象
docker的網路配置
1.檢視docker的所有網路
2.指定檢視bridge網路的配置
3.啟動兩個busybox做實驗,分別是container1和container2
4.再次檢視bridge,這時可以看到container1和container2已經被加入bridge中了
5.也可以進入到container1中,用ifconfig檢視網路配置 6.ping 7. 8.自建橋接模式的網路isolated_nw 9.檢視網路能看到已經建立的isolated_nw 10.啟動container3時指定網路isolated_nw,則可以加入自建網路中