Docker是一種輕量級的虛擬化技術(shù),它可以在不同的操作系統(tǒng)上,快速而可靠地運(yùn)行應(yīng)用程序。Docker的核心是容器,它是一種獨(dú)立的、可執(zhí)行的軟件包,包含應(yīng)用程序、運(yùn)行時(shí)環(huán)境和系統(tǒng)庫等。Docker的容器技術(shù)能夠?qū)?yīng)用程序和相關(guān)的環(huán)境打包成具有可移植性的容器,可以快速地在不同的平臺上運(yùn)行。
Docker容器與虛擬機(jī)不同,虛擬機(jī)需要運(yùn)行完整的操作系統(tǒng),而Docker容器則只需要運(yùn)行必要的進(jìn)程和系統(tǒng)庫,因此占用的資源更少,并且啟動(dòng)速度更快。此外,Docker容器可以方便地進(jìn)行部署和管理,可以在多個(gè)環(huán)境中快速遷移和復(fù)制。
FROM ubuntu:18.04 # 指定基礎(chǔ)鏡像
RUN apt-get update && apt-get install -y nginx # 安裝nginx
COPY index.html /var/www/html # 將index.html文件復(fù)制到容器中的/var/www/html目錄下
EXPOSE 80 # 暴露80端口
CMD ["nginx", "-g", "daemon off;"] # 運(yùn)行nginx
上述是一個(gè)Dockerfile文件的例子,它是用來構(gòu)建Docker鏡像的腳本。Dockerfile通常由FROM
、RUN
、COPY
、EXPOSE
、CMD
等指令構(gòu)成,用于指定基礎(chǔ)鏡像、安裝軟件包、復(fù)制文件、暴露端口和運(yùn)行命令等。
通過Dockerfile可以構(gòu)建出Docker鏡像,Docker鏡像即為打包好的應(yīng)用程序以及相關(guān)的運(yùn)行時(shí)環(huán)境和系統(tǒng)庫等??梢酝ㄟ^命令docker build -t myimage .
來構(gòu)建鏡像。構(gòu)建后的鏡像可以保存到本地倉庫,也可以推送到Docker Hub等公共倉庫中。
通過docker run
命令可以啟動(dòng)一個(gè)Docker容器,并運(yùn)行鏡像中的應(yīng)用程序。例如:docker run -d -p 80:80 myimage
表示在后臺運(yùn)行一個(gè)容器,將容器的80端口映射到主機(jī)的80端口,并運(yùn)行myimage鏡像中的應(yīng)用程序。