菜鳥初識技術篇---Docker
下面來繼續講講Docker的一些個人見解,對於docker這個東西,在網上的說法很多,有人說是容器工具,也有人說是集裝箱什麼的,不同的人都有不同的看法,其實他們說得都對。在我個人認為的話,其實docker就跟虛擬機器是類似的一個東西,我甚至懷疑它的前世就是虛擬機器,也是一種虛擬化的東西,下面不再探討其中的概念,這篇文章主要是介紹一些常用的命令操作等等吧:
首先,說一下我們開發者可以利用docker來做什麼呢?我們可以用來部署,釋出,交付一些專案或者其他的一些應用什麼的。
接著,也順便說一下它的一些優點吧:交付和部署快;高效虛擬化,各種平臺拓展性高,管理方便簡單,效能較好等等。
然後再介紹一些常用的命令:
docker images|grep XXX 查詢某個XXX字元的映象資訊
docker images 列出所有的映象資訊
docker ps 列出容器資訊
docker ps -a 列出已建立的容器資訊
docker ps -s 列出已啟動的映象資訊
docker start/stop/rm/rename + 容器名/容器ID 開啟/停止/移除/重新命名某個容器
docker rmi + 映象 移除映象
docker run -d(後臺執行) -p(埠對映) -name(容器名) -e(環境變數) 執行一個容器
以mysql為例:
docker exec -it mysql bash 連線mysql
mysql -u root -p mysql登入
docker build -t xxxx:版本號 . (注意後面有個點號,要寫,編譯生成一個映象)
docker-compose up (無引數預設啟動docker-compose.yml檔案) 啟動compose
docker-compose ps 列出compose所有容器資訊
docker-compose -f(指定yml檔案) xxx.yml up -d(後臺啟動) 啟動compose
最後,在這裡再說一下docker、docker compose、dpckerFile、docker swarm之間的一些關係:
一個docker裡面可以有多個映象,然後一個映象裡可以有多個容器,dockerFile檔案是指用來啟動單個容器的多個命令的檔案,不必每次都一個一個地來執行命令,dockerFile可以解決這個問題,然後針對於多個容器呢?那麼docker compose就出現了,docker compose就是解決多個容器一起執行執行的問題,當然前面這三個東西都是針對於一個主機上的操作,要是想多個主機干涉操作呢?那麼就用docker swarm吧,docker swarm可以解決多主機操作的問題,當然也是少不了Kubernetes的了,目前的推薦是使用Kubernetes,它與docker swarm是相同的功能,但是Kubernetes更佳,如果還沒知道Kubernetes的話,建議可以自己去了解一下,這裡就不深入講解了,畢竟我也是剛剛開始接觸,可能有些地方也講錯了,望體諒,望及時指正,謝謝!
2018年11月15日