目錄
1. 什麼是Docker
Docker 是一種Linux 容器(Linux Containers,縮寫爲 LXC)解決方案,我們可以將應用打包到一個可移植的容器中,然後發佈到任何Linux機器上,不用擔心環境配置問題,實現帶環境安裝。
2. 容器(Docker)與虛擬機的對比
虛擬機也是帶環境安裝的一種解決方案,但它資源佔用多、冗餘步驟多、啓動慢,而Linux容器具有啓動快、資源佔用少、體積小的優點,相當於輕量級的虛擬機,能夠提供虛擬化的環境,但是成本開銷小得多。
3. Docker可以做什麼
提供一次性的環境。比如,本地測試他人的軟件、持續集成的時候提供單元測試和構建的環境。
提供彈性的雲服務。因爲 Docker 容器可以隨開隨關,很適合動態擴容和縮容。
組建微服務架構。通過多個容器,一臺機器可以跑多個服務,因此在本機就可以模擬出微服務架構。
4. Docker的三個基本概念
鏡像(Image):用於創建 Docker 容器的模板,可以類比爲面向對象中的類。
容器(Container):容器是鏡像運行時的實體,容器通過 Docker 鏡像來創建,可以類比爲面向對象中的類的實例。
倉庫(Repository):可看作是一個代碼控制中心,用來保存鏡像。
5. 使用Docker部署微服務項目
5.1.新建一個目錄用於存放Dockerfile和微服務項目jar
5.2.將springboot的應用jar包放在該目錄
5.3.創建一個Dockerfile放在該目錄
#Dockerfile
# 基於哪個鏡像
From java:8
# 複製文件到容器
ADD springboot-0.0.1-SNAPSHOT.jar /app.jar
# 聲明需要暴露的端口
EXPOSE 8080
# 配置容器啓動後執行的命令
ENTRYPOINT ["java","-jar","/app.jar"]
5.4.使用當前目錄下的Dockerfile創建鏡像
docker build -t springboot:0.0.1 .
5.5.通過鏡像創建並啓動容器
docker run -p 8080:8080 springboot:0.0.1
5.6.訪問部署成功的應用