1. 程式人生 > >Docker入門-映象、容器、倉庫簡單命令

Docker入門-映象、容器、倉庫簡單命令

映象

1.獲取映象
docker pull dl.dockerpool.com:5000/ubuntu:14.04(dl.dockerpool.com為註冊伺服器,5000為埠號,ubuntu為倉庫名稱,14.04是映象也是版本號)
2.檢視映象資訊
docker images(列出本地主機已有的所有映象) 更改變遷資訊 docker tag dl.dockerpool.com:5000/ubuntu:latest ubuntu:latest docker inspect 000(000為映象ID,顯示這個映象的詳細資訊)
3.搜尋映象
docker search mysql (輸出資訊包括映象名字、描述、星級、是否為官方建立、是否自動建立
4.刪除映象
docker rmi dl.dockerpool.com:5000/ubuntu:latest 注:當有該映象建立的容器存在時,映象檔案預設是無法刪除的,所以刪除映象前最好是刪除所有依賴該映象的容器,請不要用強制刪除。
5.建立映象
有三種方法:
a. 基於已有映象的容器建立
docker commit -m “add new image”-a "" 000(容器ID) test(新建image name)

b. 基於本地模板匯入

cat ubuntu-14.04-x86_64-minimal.tar.gz | docker import - ubuntu:14.04

c. 基於dockerfile建立
6.存出鏡像
docker save -o ubuntu_14.04.tar ubuntu:14.04
7.載入映象

docker load --input ubuntu_14.04.tar 或者

docker load < ubuntu_14.04.tar

8.上傳映象
docker push user/test:latest(user使用者需要在dockerHub網站註冊)

容器

容器是映象的一個執行例項,但它帶有額外的可寫層

1.建立容器

docker create -it ubuntu:12.04

2.建立並啟動容器

docker run -it ubuntu:12.04 /bin/bash

3.守護態執行

docker run -d ubuntu:12.04

4.檢視容器資訊

docker ps [-a -q 檢視終止狀態]

5.獲取容器的輸出資訊

docker logs cet(cet是容器ID前三個字元)

6.終止容器

docker stop cet

7.啟動容器

docker start cet

8.重啟容器

docker restart cet

9.進入容器

1) attach命令

docker attach nostalgic(nostalgic是docker的name)

缺點:所有視窗同步顯示

2) exec命令

docker exec -it 243... /bin/bash (243...為docker ID)

3) nsenter命令

a)找PID

PID=$(docker-pid 243..)

b)通過PID連結容器

nsenter --target $PID --mount --uts --ipc --net --pid

10.刪除容器

docker rm [-f -l -v] cet

-f 強行終止並刪除

-l 刪除容器的連結,保留容器

-v 刪除掛載的資料卷

11.匯出容器

docker export cet >test.tar

12.匯入容器(將容器快照匯入到本地映象庫)

cat test.tar | docker import - test/ubuntu:v1.0(重新指定標籤為ubuntu的映象名稱,v1.0的版本號

docker load 也可以匯入映象儲存檔案到本地映象庫,他比import方式的好處是:import匯入映象快照檔案將丟失所有的歷史記錄和元資料資訊。

**注:**通過匯出容器和匯入容器可以實現容器遷移(拷貝檔案)

倉庫

倉庫是集中存放映象的地方,一個註冊伺服器上有很多倉庫,一個倉庫中有很多映象。 1. 登入
docker login

2. 基本操作

查詢、上傳、下載

3. 自動建立

4. 檢視映象

http://www.dockerpool.com/downloads

5. 更新映象標籤

docker tag dl.dockerpool.com:5000/ubuntu:12.04 ubuntu:12.04(將前面的映象更改為ubuntu:12.04)

6. 建立私有倉庫

docker run -d -p 5000:5000 -v /opt/data/registry:/tmp/registry registry(自動下載並啟動registry容器,建立本地的私有倉庫服務,預設倉庫船艦的容器在/tmp/registry,可以通過-v引數來存放到指定路徑上)

7.管理私有倉庫映象

假設私有倉庫地址為10.0.2.2,埠為5000,

docker tag ubuntu:14.04 10.0.2.2:5000/test(更改標籤名)

docker push 10.0.2.2:5000/test(push映象,會自動push到10.0.2.2地址的機器上)

curl http://10.0.2.2:5000/v1/search(檢視倉庫10.0.2.2:5000中是否含有test映象)

docker pull 10.0.2.2:5000/test(在任何一臺能訪問到10.0.2.2地址的機器上下載映象)