
docker的安裝以及鏡像,容器,倉庫的基本操作
docker的安裝(centos7中可以直接yum安裝)
????yum install –y docker
# 搜索鏡像
docker search <image> # 在docker index中搜索image
????--automated=false 僅顯示自動創(chuàng)建的鏡像
????--no-trunc=false 輸出信息不截斷顯示
????-s 0 指定僅顯示評價為指定星級的鏡像


# 下載鏡像
docker pull <image> # 從docker registry server 中下拉image
還可通過指定標簽下載某鏡像
????docker pull [:TAG]
????docker pull centos:7

# 存出和載入鏡像
????存出本地鏡像文件為.tar
????docker save -o ubuntu_14.04.tar ubuntu:14.04
????導(dǎo)入鏡像到本地鏡像庫
????docker load --input ubuntu_14.04.tar或者
????docker load < ubuntu_14.04.tar
# 上傳鏡像
????用戶在dockerhub網(wǎng)站注冊后,即可上傳自制的鏡像。
????docker push NAME[:TAG]
# 創(chuàng)建(使用鏡像創(chuàng)建容器):
????首先得查看鏡像的REPOSITORY和TAG
docker run -i -t REPOSITORY:TAG (等價于先執(zhí)行docker create 再執(zhí)行docker start 命令)
其中-t選項讓docker分配一個偽終端并綁定到容器的標準輸入上, -i則讓容器的標準輸入保持打開。若要在后臺以守護態(tài)(daemonized)形式運行,可加參數(shù)-d
啟動容器。? docker run -t -i nginx /bin/bash? ? ?#nginx為容器
exit退出容器

docker attach [container_id] #連接一個正在運行的container實例(即實例須為start狀態(tài),可以多個 窗口同時attach 一個container實例),但當某個窗口因命令阻塞時,其它窗口也無法執(zhí)行了。
exec可直接在容器內(nèi)運行的命令。docker exec -ti [container_id] /bin/bash
# 刪除容器:
docker rm <container...> #:刪除一個或多個container
docker rm `docker ps -a -q` #:刪除所有的container
docker ps -a -q | xargs docker rm #:同上, 刪除所有的container
docker -rm
????-f 強制中止并運行的容器
????-l 刪除容器的連接,但保留容器
????-v 刪除容器掛載的數(shù)據(jù)卷
# 修改容器:
docker commit <container> [repo:tag] # 將一個container固化為一個新的image,后面的repo:tag可選。
# 導(dǎo)入和導(dǎo)出容器:
????導(dǎo)出到一個文件,不管是否處于運行狀態(tài)。
????docker export CONTAINER > test.tar
????導(dǎo)入為鏡像:
cat test.tar | docker import - centos:latest
docker啟動命令,docker重啟命令,docker關(guān)閉命令
啟動? ? ????systemctl start docker
守護進程重啟 ??sudo systemctl daemon-reload
關(guān)閉docker服務(wù) ??systemctl restart ?docker
重啟docker服務(wù) ?sudo service docker restart
沒有報錯就說明關(guān)閉和重啟成功!

docker start/stop/restart <container> #:開啟/停止/重啟container
停止所有的container,這樣才能夠刪除其中的images:?
? ? ? docker stop $(docker ps -a -q)

docker ps -a -q? ?查看全部的容器id

? ? ?-a標志列出所有容器,-q標志只列出容器的ID,然后傳遞給rm命令
刪除全部image的:? docker rmi $(docker images -q)
docker rmi <image ID>: # 刪除一個或多個image
docker images? ? ? ? ?# 查看本地鏡像dockerimages

# 啟動一個已經(jīng)停止的容器dockerstart 容器ID# 重啟一個容器docker restart 容器ID
# 進入一個運行中的容器dockerattach 容器ID
docker rmi?鏡像名

# 刪除所有鏡像docker rmi $(docker images| grep -v RESPOSITORY |awk'{print $3}')
# 構(gòu)建容器dockerbuild -t 鏡像名稱 .# 后面的. 指的是當前文件夾 (其實是Dockerfile存放的文件夾)# 建立映像文件。–rm 選項是告訴Docker,在構(gòu)建完成后刪除臨時的Container,Dockerfile的每一行指令都會創(chuàng)建一個臨時的Container,一般這些臨時生成的Container是不需要的docker build --rm=true-t loen/lamp .
強制刪除容器:docker -rm -f CONTAINERID?
不能夠刪除一個正在運行的容器,會報錯。需要先停止容器。
強制刪除鏡像:docker -rmi -f? IMAGEID??
# 刪除容器docker rm 容器ID# 刪除所有容器docker rm $(docker ps-a)
# 查看歷史dockerhistory鏡像ID

# 導(dǎo)出容器dockerexport容器ID > xxx.tar

docker save???
# 把 mynewimage 鏡像保存成 tar 文件dockersave myimage | bzip2 -9-c> /home/save.tar.bz2
# 加載 myimage 鏡像bzip2-d-c < /home/save.tar.bz2 | docker load
sudo docker inspect 74eb50b00a3a? ? ? ? 查看ip為74容器的詳細信息

獲取所有容器名稱及其IP地址:
docker inspect -f '{{.Name}} - {{.NetworkSettings.IPAddress }}' $(docker ps -aq)

docker rename old_name new_name更改容器的名稱????
docker info
顯示 Docker 系統(tǒng)信息,包括鏡像和容器數(shù)。???!
