Docker是一種容器技術,實現了應用層的虛擬化,容器級別的虛擬機化加快了雲計算時代的發展,Docker在遷移,啓動,部署,安裝等方面有着出色的發揮,這篇文章主要總結一下Docker裏的基本操作。
本篇主要介紹ubuntu下docker的命令,centos類似。
Docker安裝
ubuntu下
sudo apt-get install docker.io
centos下
yum install docker-ce
這裏如果沒有安裝的話需要添加對應的源,如果需要下載最新版的docker也需要添加最新的源,系統本身帶的源可能沒有較新的環境。
Docker基本概念
docker有鏡像,容器,倉庫這三個東西,docker的管理類似GitHub,鏡像相當於源碼,存在倉庫裏,容器就是源碼運行起來的樣子,要用的鏡像就去倉庫裏取了過後,運行起來變成了容器。
docker讓我們不在擔心我們系統的環境,因爲主流的操作系統都支持docker。docker的好處當然很多很多,這裏也就不一一說了。
docker的基本命令
- docker pull(從倉庫拉鏡像下來,如果設置了本地鏡像地址就是本地,默認是docker官方鏡像)
- docker search(在倉庫中查找鏡像)
- docker commit (將本地使用的鏡像進行創建新的鏡像,一般用於更改現有鏡像環境後提交,常用參數-a,-m,-p,分別代表作者,提交信息,暫停容器提交時)
- docker login(登錄遠程倉庫,默認爲docker官方鏡像)
- docker push(將鏡像提交到倉庫,默認爲docker官方鏡像,但必須登錄)
- docker run(創建一個新的容器並運行一個命令,通常用-it參數,時常會使用-v,-d等命令)
- docker bulid(使用Dokcerfile創建一個鏡像)
- docker start/stop/restart(啓動,停止,重啓一個容器,後面跟容器id)
- docker kill(殺死一個運行中的容器,後跟容器id)
- docker rm(刪除一個或多個容器,後跟容器id)
- docker create (創建一個新的容器但不啓動它)
- docker exec (在運行的容器中執行命令)
- docker ps (查看docker的進行的進程)
- docker inspect (獲取鏡像的元數據,返回一個json,時常用於獲取容器id)
- docker top (查看容器中進程狀況,和shell下top相同,後跟容器id)
- docker attach (連接一個正在運行的容器)
- docker events (顯示容器的事件)
- docker logs (獲取容器的日誌,後跟容器id,區別於上面那個events事件是取容器啓動,連接關閉等等的事件)
- docker wait (阻止容器運行)
- docker export (將容器進行保存(tar文件),後跟保存文件名和容器id)
- docker port (查看容器端口映射情況,後跟容器id)
- docker cp (容器和物理機之間拷貝東西,注意需要完整的容器id,需要inspect來查看)
- docker images(查看物理機上的容器鏡像)
- docker rmi(刪除鏡像)
- docker save (保存鏡像爲tar文件)
- docker import (導入tar文件,創建鏡像)
需要注意的是,命令中有些針對鏡像,有些針對容器,希望大家清楚這兩者的區別。關於倉庫,他和GitHub意義,docker有docker hub,當然也可以自己建立倉庫。
總結
本篇主要介紹一些docker的基本命令,對自己的學習的一個複習吧。