1. 程式人生 > >菜鳥初識技術篇---Docker

菜鳥初識技術篇---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日