1. 程式人生 > >Docker常用命令總結

Docker常用命令總結

【常用命令總結】

系統----------------------------------------

systemctl restart docker  &&  docker start  $(docker ps -a -q)  //重啟時直接開啟說有容器

【映象】---------------------------------------------------------------------

docker images  //檢視本地的映象

docker rmi centos:latest //用來刪除指定映象

映象--啟動部分--------------------------------------------------------------

docker run -itd 映象名 //把映象啟動為容器 其實他也等於下面的這兩條命令

docker create  -itd  centos6   bash  然後 docker start   container_id //等同於上一條命令

對於上面兩條命令,如果不加-d  你進入了容器後,退出容器,容器就停止了

docker run --name web -itd centos bash // --name 啟動時給容器自定義名字

docker run --rm -it centos bash -c "sleep 30" //--rm 可以讓容器退出後直接刪除,在這裡命令執行完容器就會退出(不常用)

docker run -itd -p 5123:80 映象 bash //埠對映,左為宿主機:右為容器

docker run -itd --privileged -e "container=docker" centos_with_nginx /usr/sbin/init //解決無許可權啟動服務的辦法,紅色部分

映象--匯入匯出部分-----------------------------------------------------------

cat centos-6-x86-minimal.tar.gz|docker import - centos6 //其他地方下載的映象匯入進docker(和export對應)

docker  export  container_id  > file.tar //匯出檔案,可以遷移到其他伺服器

docker save -o aming-centos.tar aming //現有映象儲存成檔案(本機備份)

docker load --input aming-centos.tar  或者 docker load < aming-centos.tar //兩種方式將save下來的檔案匯入(本機恢復)

【容器】------------------------------------------------------------------------------------------------

docker ps //檢視執行的容器,加上-a選項後可以檢視所有容器,包括未執行的

docker stop 容器id 或者 docker rm 容器id  //這兩種方式停止容器

docker exec -it 容器id或自定義名稱  bash//進入容器 如果建立這個容器時用 --name定義了名字,這可以用定義名字進入

docker commit -m "一些改動資訊"  -a "作者相關資訊可以不加" 容器id(container_id) 最後新映象的名字 //將容器儲存成映象

docker logs  container_id //查詢容器執行歷史資訊

【倉庫】-----------------------------------------------------------------------------------------------

docker pull centos//從官方倉庫下載映象(最好搭配加速器,請看 Docker管理的【docker映象管理】部分)

搭建私有倉庫請看Docker管理的【Docker搭建私有倉庫管理】

【資料管理】----------------------------------------------------------------------------------------

docker run -tid -v /data/:/data 映象 bash //建立容器時定義掛載的本地目錄對應容器內的目錄(左宿主機:右容器)

docker run -itd --volumes-from 容器name  映象 bash //我的理解:通過上一條命令產生的容器,也弄一個跟他一樣掛載本地目錄的容器

docker run -itd -v /data/ --name 自定義名字  映象 bash //我的理解:建立一個容器,這個容器的/data/目錄是用來存放資料的,後續如果建立其他容器時--volumes-from 加這個容器的名字,那麼資料實際就是在這臺容器上,而不是其他容器上。