Docker常用鏡像基本操作

file

Docker

Docker鏡像的首行從FROM alpine之類的鏡像開始,但是最初的基礎鏡像是如何創建的,本文使用一個busybox創建一個基礎鏡像,相信在此過程中會對docker一些相關的概念有進一步的理解。

什麼是基礎鏡像(base image)

簡單來說,基礎鏡像就是沒有From或者FROM scratch開頭的Dockerfile所構建出來的鏡像。比如alpine,這個很小的linux鏡像目前只有4M左右

Docker常用鏡像選擇

因爲Docker鏡像是基於基礎鏡像來構建的,因此選擇的基礎鏡像越高級,我們要做的底層工作就越少。

比如,如果構建一個Java應用的鏡像,選擇一個openjdk的鏡像作爲基礎鏡像比選擇一個alpine鏡像作爲基礎鏡像要簡單地多。

Docker鏡像官網

Docker鏡像官網(Docker Hub): https://hub.docker.com

阿里雲容器Hub:https://dev.aliyun.com

Google鏡像(gcr.io):https://console.cloud.google.com/gcr/images/google-containers/GLOBAL (主要爲Kubernetes相關鏡像)

操作系統基礎鏡像

比如你要從Linux操作系統基礎鏡像開始構建,可以參考下表來選擇合適的基礎鏡像:

鏡像名稱 大小 使用場景
busybox 1.15MB 臨時測試用
alpine 4.41MB 主要用於測試,也可用於生產環境
centos 200MB 主要用於生產環境,支持CentOS/Red
ubuntu 81.1MB 主要用於生產環境,常用於人工智能計算和企業應用
debian 101MB 主要用於生產環境

構建鏡像

使用命令 docker build ,來創建一個新的鏡像。因此我們需要創建一個 Dockerfile 文件,其中包含一組指令來告訴 Docker 如何構建我們的鏡像。
我們可以根據需求選擇合適的基礎鏡像來構建我們需要的鏡像文件

Dockerfile

FROM    centos:6.7
WORK test
ADD . .
EXPOSE  8080
CMD ['test']

如何使用鏡像

  • 使用docker run運行鏡像文件:
    當我們單獨管理一個鏡像文件時,推薦這種方式,可以簡單快捷運行已打包的鏡像
  • 使用docker-compose運行鏡像文件:
    當需要集中管理多個鏡像文件時,推薦這種方式,可以更好的集中管理所有的鏡像文件

進入容器操作

  • docker exec -it test_image /bin/sh

  • docker exec -it test_image bash

  • docker exec -it test_image sh
    公衆號

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