1、docker是什麼?
發展過程
1、部署一個軟件項目,安裝運行環境,這樣每次到一個新機器都要安裝一堆軟件
2、虛擬機帶上環境整個移植過去,解決運行環境問題,但是弊端多多,運行內存、啓動速度等、
3、docker應運而生,一段被保護的底層系統的進程,可以看作是輕量級的虛擬機,但是並沒帶完整的操作系統,只有環境需要的軟件,只佔用需要的內存不會像虛擬機要花費操作系統運行的內存造成內存浪費。<這樣mac中需要虛擬機裝其他系統才能安裝數據庫的弊端就可以用docker來改進了。>
總而言之:docker實現了由 要在一個新環境中部署系統要安裝一堆軟件 => 在新環境中只安裝docker就有了一套運行環境,速度還蠻快。
2、安裝並配置
1、可以去官網下載並且註冊docker hub帳號(如果註冊時button是灰色的,則需要翻牆(藍燈),他纔會出現谷歌的一個防止機器人的驗證)
也可以用終端先安裝一個 homebrew 用命令行進行下載
brew install docker
2、一般國外的軟件要下載資源都很慢,例如maven,所以要把docker的鏡像庫換成國內的會快些。
在registry-mirrors里加一個 https://registry.docker-cn.com ,然後點擊‘Apply & Restart’,就是中國官方的庫地址了
3、先跑一個hello world?
首先解釋幾個概念,再結合實際
image(鏡像):既然docker是帶環境的一個“輕量虛擬機”,那就有一個或多個文件承載這份環境或者搭建環境的基礎,這就是鏡像。(創建docker容器的模板,一般都是以已有的鏡像爲基礎再進行自定義配置,改個名字徹底成爲自己的鏡像)。
container(容器):docker可以運行很多環境鏡像<就好比tomcat上運行一個或多個web項目>,這個容器就好比tomcat(容器是獨立運行的一個或一組應用)。
Client(客戶端)Docker 客戶端通過命令行或者其他工具使用 Docker API (https://docs.docker.com/reference/api/docker_remote_api) 與 Docker 的守護進程通信。
Registry(倉庫):上一步就是把倉庫改成國內的,就如maven下載jar包一樣,docker倉庫下載的是image鏡像(即常見的運行環境如nginx、ubuntu、linux等)。
Docker Machine:是一個簡化Docker安裝的命令行工具,通過一個簡單的命令行即可在相應的平臺上安裝Docker,比如VirtualBox、 Digital Ocean、Microsoft Azure。
啦啦,先從倉庫來拉一個環境下來,比如java
docker pull java
#好吧還是用 ubuntu來輸出一個hello world,直接run,如果沒有這個image他會自動下
docker run unbunt echo hello world
然後看看本地倉庫有什麼鏡像,
docker images