// 僅此一條命令就能夠搞定 yum -y install docker-io // 啓動Docker // 同理,stop、restart意味着中止、重啓Docker service docker start // 加入開機啓動 chkconfig docker on
pip install -U docker-compose
docker create Ubuntu:latest
docker start [CONTAINER ID]
// 啓動容器輸出hello world以後,容器自動終止 docker run ubuntu /bin/echo 'hello world' // 啓動一個bash終端,容許用戶進行交互 // -t 選項讓Docker分配一個僞終端並綁定到容器的標準輸出上 // -i 讓容器的標準輸入保持打開 // 使用 Ctrl+d 或 exit 退出容器 docker run -t -i ubuntu:latest /bin/bash // 容器以守護態運行,即後臺運行 // -d 選項讓Docker以守護態運行 // 運行成功會返回一個惟一的ID docker run -itd ubuntu
docker stop [CONTAINER ID]
docker restart [CONTAINER ID]
docker ps
// 僅顯示CONTAINER ID docker ps -a -q //顯示終止容器的詳細信息 docker ps -a
// 當容器使用 -d 選項後臺運行以後,須要進入容器,可以使用下面命令 // 該命令缺點:當多個窗口同時進入同一個容器時,全部窗口都會同步顯示,當某個窗口因命令阻塞時,其餘窗口 // 也沒法執行操做了 docker attach [CONTAINER ID] // 更好的選擇 docker exec -ti [CONTAINER ID] /bin/bash
// 該命令可刪除處於終止狀態的容器,正在運行的容器該命令不奏效 docker rm [CONTAINER ID] // 刪除運行中的容器 docker rm -f [CONTAINER ID]
// 將容器導出爲test.tar docker export [CONTAINER ID] > test.tar
docker import test.tar test/ubuntu:v1.0
docker save -o quay.io-calico-node-1.tar quay.io/calico/node
docker load -i quay.io-calico-node-1.tar
docker rename [老容器名稱] [新容器名稱]
// 參數說明:[CONTAINER ID] 容器ID、test/CentOS_test_1爲REPOSITORY,即存儲庫、v1.0版本 // -a:提交鏡像做者 // -c:使用Dockerfile指令來建立鏡像 // -m:提交時的說明文字 // -p:在commit時,將容器暫停 docker commit [CONTAINER ID] test/centos_test_1:v1.0
// --privileged=true 設置爲true在容器內才能訪問掛載目錄 // 這條語句是將 /data/docker_test/tets_1 目錄掛載到容器的/data/test_1/目錄上 // 同時啓動容器 docker run -itd --privileged=true -v /data/docker_test/test_1/:/data/test_1/ ubuntu:latest
// 1. 建立數據卷容器 dbdata,並在其中建立一個數據卷掛載到 /dbdata docker run -i -t -v /dbdata --name dbdata centos // 2. 能夠在其餘容器中使用 --volumes-from來掛載dbdata容器中的數據卷 // 3. 建立 db一、db2兩個容器,並從dbdata容器掛載數據卷 // 4. 此時,容器db一、db2都掛載同一個數據捲到相同的 /dbdata目錄。三個容器任何一方在該目錄下寫入,其餘 // 容器均可以看到 docker run -i -t --volumes-from dbdata --name db1 centos docker run -i -t --volumes-from dbdata --name db2 centos // 5. 能夠屢次使用 --volumes-from參數來從多個容器掛載多個數據卷。還能夠從其餘已經掛載了容器卷的容器來 // 掛載數據卷 docker run -d --name db3 --volumes-from db1 centos
// 首先利用centos鏡像建立容器worker。使用 --volumes-from dbdata 參數來讓worker容器掛載 // dbdata容器的數據卷;使用 -v $(pwd):/backup參數來掛載本地的當前目錄到worker容器的/backup // 目錄。容器啓動後,使用 tar cvf /backup/backup.tar /dbdata命令來將 /dbdata下的內容備份 // 爲容器內 /backup/backup.tar,即宿主主機當前目錄下的backup.tar docker run --volumes-from dbdata -v $(pwd):/backup --name worker centos tar cvf /backup/backup.tar /dbdata
// 1. 建立一個帶有數據卷的容器dbdata2 docker run -v /dbdata --name dbdata2 centos /bin/bash // 2. 建立另外一個容器,掛載dbdata2的容器,並解壓備份文件到所掛載的容器卷中便可 docker run --volumes-from dbdata2 -v $(pwd):/backup --name worker ubuntu bash cd /dbdata tar xvf /backup/backup.tar