Docker創(chuàng)建鏡像
最近學習Docker 的知識,偶然在網(wǎng)上看到關于Docker 創(chuàng)建對象的兩種方法很好,這里記錄下,也許可以幫助到你。
我們都知道Docker中我們是基于鏡像來運行的容器,那如何創(chuàng)建鏡像呢?創(chuàng)建鏡像有兩種方法,一是使用docker commit命令,二是使用docker build命令和Dockerfile文件。這里我們說的創(chuàng)建鏡像是指基于一個已有的基礎鏡像比如ubuntu等,而不是從零創(chuàng)建一個全新的鏡像。
下面分別簡單介紹一下兩種方法。
第一種,使用docker commit創(chuàng)建。
首先我們可以先運行一個容器:
sudo docker run -i-t ubuntu /bin/bash
然后我們可以在這個容器中進行修改,比如安裝一些軟件或者搭建一些環(huán)境等:
apt-get install gcc
最后我們提交這些修改并創(chuàng)建鏡像:
sudo dockercommit 4aa578389 buffoon/gcc
這里4aa578389是修改過的容器的ID,buffoon/gcc是目標鏡像倉庫和鏡像名。我們也可以在commit時候使用一些參數(shù)來擴充更多信息。比如:
sudo dockercommit -m”A new image with gcc” -a”buffoon” 4aa578389 buf/gcc:mm
上面-m選項指定了鏡像的提交信息,-a選項標注了作者信息,最后的:mm是標簽。
我們可以sudo dockerimages buffoon/gcc 來查看新創(chuàng)建的鏡像有沒有成功。要查看鏡像的詳細信息,可以sudo docker inspect buf/gcc:mm 。
第二種,使用docker build命令和Dockerfile文件創(chuàng)建。
首先我們先創(chuàng)建一個空目錄,作為構建環(huán)境,即Docker中的構建上下文:
mkdir gcc cd gcc
然后我們在該目錄中創(chuàng)建一個Dockerfile文件:
vim Dockerfile
在文件中編輯:
#Version: 0.0.1 FROM ubuntu:latest MAINTAINERbuffoon xxx@gmail.com RUN apt-getinstall gcc
這個文件中,F(xiàn)ROM 必須作為第一條指令,是指定基礎鏡像;MAINTAINER指令指明作者的一些信息;RUN 指明了鏡像運行時要執(zhí)行的命令。
然后我們就可以進入到構建上下文中并執(zhí)行創(chuàng)建:
cd gcc sudo dockerbuild -t=”buffoon/gcc:v1” . //注意最后一個點號
-t指定倉庫鏡像標簽,最后的點號是表明從當前路徑中尋找Dockerfile文件。
Dockerfile中的指令有很多,這里就不一一介紹了,具體的指令請見:https://docs.docker.com/engine/reference/builder/
新聞熱點
疑難解答