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