Docker學習及DevOps實踐:2.Docker的基礎使用

一、Docker的架構

1.Docker平臺
  • Docker提供了一個開發、打包、運行Application(應用)的平臺。
  • Docker把應用和底層物理資源隔離開來
    ** 其中Docker Engine是Docker中非常重要的一個部件**
    在這裏插入圖片描述
2.Docker Engine
  • Docker是一個C/S架構,有server和client。
  • Docker Engine包含:一個後臺進程(dockerd)、REST API Server(負責server和client通信)、CLI接口(docker)
3.Docker架構

在這裏插入圖片描述


二、Docker Image(鏡像)

1.什麼是Image?
  • 文件和meta data的集合
  • Image是分層的,並且每一層都可以添加改變刪除文件(軟件),成爲一個新的image
  • 不同的image可以共享相同的layer
  • Image本身是read-only的
    在這裏插入圖片描述
2.獲取鏡像
(1)Dockerfile

Docker提供了一種文件格式Dockerfile,通過這種格式的文件我們就可以定義一個Docker鏡像,通過這個文件,我們就可以構建(build)出一個鏡像。

一個簡單的Dockerfile示例:

FROM ubuntu:14.04			-- 指定Base Image
LABEL maintainer="[email protected]"		-- 標識
RUN apt-get update && apt-get install -y redis-server		-- 在Base Image之上運行apt-get update和apt-get install redis-server兩條命令
EXPOSE 6379	-- 暴露端口
ENTRYPOINT ["/usr/bin/redis-server"]	-- 啓動redis-server
(2)從Registry(倉庫)拉取

我們可以從遠程倉庫拉取我們需要的鏡像,同時,我們也可以將我們自己的鏡像推送到遠程倉庫上去。

示例:從Docker Hub拉取一個ubuntu 14.04的基礎鏡像:

執行命令:docker pull ubuntu:14.04

在這裏插入圖片描述

3. Docker Hub

目前Docker官方維護了一個遠程倉庫(Docker Hub),上面有一些官方維護的鏡像,我們可以從這個倉庫拉取所需要的鏡像。

4.查看本地鏡像
執行命令: docker image ls

在這裏插入圖片描述
可以看到展示了我們剛剛拉取的ubuntu鏡像。
可以看到ubuntu鏡像僅僅197MB,和我們自己本機裝一個虛擬機的大小差距很大,這是因爲鏡像是不包含Linux Kernel的,精簡了很多核心繫統文件,所以體積非常小。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章