1. 程式人生 > >【玩轉開源】制作Docker鏡像

【玩轉開源】制作Docker鏡像

沒有 名稱 登錄 我們 nan utils str oar image

做嵌入式方向經常會遇到的一個問題,就是編譯環境安裝,如果換電腦,再重新安裝環境是一個比較費時的事情,這個時候可以自己制作一個Docker鏡像,然後把編譯環境在Docker鏡像裏面配置好,以後同步環境就非常方便了,接下來我們就一起來看一下如何制作一個Docker鏡像。

1. 制作前準備

登錄Docker Hub,https://cloud.docker.com/,申請一個賬號;

申請好後,然後創建一個自己的Repository,註意Repository的命名為小寫。

技術分享圖片

接下來我們就一起來制作一個Docker鏡像。

2.制作一個docker鏡像

1)首先我們pull一個docker官方提供的Ubuntu鏡像:

docker pull ubuntu:16.04

2)查看鏡像是否已經下載:

docker images

技術分享圖片

3)運行鏡像:

docker run -it --rm ubuntu:16.04

這個時候就會進入到Docker container(容器)裏面,然後執行make,gcc發現沒有相應的命令。

我們通過exit退出Docker container(容器),然後制作一個帶編譯工具的鏡像。

技術分享圖片

4)接下來我們通過Dockerfile來定制我們自己的鏡像:

創建Dockerfile文件,在文件裏面添加安裝命令如下:

vim Dockerfile

# ubuntu 16.04 with compile env
FROM ubuntu:16.04
MAINTAINER jackzengcn<[email protected]>
RUN apt-get update && apt-get upgrade && apt-get install vim -y
RUN apt-get install -y net-tools && apt-get install -y iputils-ping
RUN apt-get install -y gcc-arm-linux-gnueabi
RUN apt
-get install -y gcc-arm-linux-gnueabihf RUN apt-get install -y gcc-aarch64-linux-gnu RUN apt-get install -y device-tree-compiler RUN apt-get install -y git && apt-get install -y make && apt-get install -y gcc RUN apt-get install -y bc && apt-get install -y cpio

在這裏,我將會安裝一些編譯工具到即將要制作的Docker鏡像中。

FROM 表示以剛剛下載的Docker鏡像 Ubuntu:16.04為基礎制作;

MAINTAINER 表示維護者信息;

RUN 表示要執行的命令。

5)接下來我們編譯自己的Docker鏡像:

docker build -t TAGNAME . (註意TAGNAME後面有個“.”,“.”表示Dockerfile的路徑;另外TAGNAME要與docker hub的Repository名字保持一致)

我這裏的Repo名稱為:jackzengcn/bpiboardbuild

所以我的build命令為:docker build -t jackzengcn/bpiboardbuild .

技術分享圖片

6)build完成後,就可以校驗剛才build的鏡像:

docker run -it --rm TAGNAME

這次登錄後,就會發現這些命令已經安裝好了。

技術分享圖片

7)校驗成功後,就可以準備push鏡像到遠端Docker倉庫,登錄docker:

docker login

技術分享圖片

8)開始pushdocker push TAGNAME

docker push jackzengcn/bpiboardbuild:latest

技術分享圖片

到此,我們自己定制的Docker鏡像就已經完成了。

【玩轉開源】制作Docker鏡像