Docker 是一個開源的應(yīng)用容器引擎,可以幫助開發(fā)者輕松地封裝、分發(fā)和運行任何應(yīng)用程序。Docker 可以在任何操作系統(tǒng)上運行,而不需要任何特殊的配置或設(shè)置。因此,它是一個簡單易于使用的解決方案。Docker 版本 18 包含了很多新的功能和改進,下面介紹一些主要的變化。
首先, Docker 18 構(gòu)建了多階段構(gòu)建,這樣可以更好地管理鏡像大小。多階段構(gòu)建允許開發(fā)者通過構(gòu)建多個階段來定義一個自定義的構(gòu)建過程。每個階段可以有不同的基礎(chǔ)鏡像,并且可以添加特定的構(gòu)建步驟。最終生成的鏡像只包含最后一個階段的結(jié)果,因此可以更有效地管理鏡像大小。
#Dockerfile FROM node:8-alpine as dependancies COPY package*.json ./ RUN npm install && npm cache clean COPY . . RUN npm run build FROM nginx:1.13.3-alpine COPY --from=dependencies /app/dist /usr/share/nginx/html COPY ./nginx-custom.conf /etc/nginx/conf.d/default.conf
另一個值得注意的改進是容器間網(wǎng)絡(luò)通信的改善。從 Docker 18 開始,完全支持 IPv6。此外,該版本還增加了一個新特性,即端口轉(zhuǎn)發(fā)。這個特性可以使容器的端口轉(zhuǎn)發(fā)到 Docker 主機的端口上,從而更容易訪問容器。
最后, Docker 18 還添加了一些新的安全性方面的改進。例如, Docker 18 使用基于用戶命名空間的安全模型,這意味著容器中的進程在其自己的 UID 和 GID 命名空間內(nèi)運行。這可以提高容器的隔離度,并可以保護容器的主機免受潛在的攻擊。
總的來說, Docker 18 是一個非常優(yōu)秀的版本,帶來了許多新的功能和重要的改進。這個版本可以幫助開發(fā)者更好地管理鏡像大小、提高容器的性能和安全性,并增強容器間的網(wǎng)絡(luò)功能。對于以 Docker 為基礎(chǔ)進行應(yīng)用開發(fā)的開發(fā)者來說,這個版本是非常不錯的選擇。