Docker創(chuàng)建鏡像兩種方法詳解
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/
感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
相關文章
詳解Docker創(chuàng)建php開發(fā)環(huán)境遇到的權限問題解決方案
本篇文章主要介紹了Docker創(chuàng)建php開發(fā)環(huán)境遇到的權限問題解決方案,具有一定的參考價值,有需要的可以了解一下。2016-11-11
如何通過Docker容器創(chuàng)建一個Web服務器
這篇文章主要介紹了如何通過Docker容器創(chuàng)建一個Web服務器的相關資料,并對Nginx進行基本配置和測試,文中通過代碼介紹的非常詳細,需要的朋友可以參考下2025-03-03
基于CentOS8系統(tǒng)使用Docker搭建Gitlab的詳細教程
這篇文章主要介紹了基于CentOS8系統(tǒng)使用Docker搭建Gitlab教程,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-10-10
Docker遇到Intellij IDEA,Java開發(fā)提升了十倍生產(chǎn)力
這篇文章主要介紹了Docker遇到Intellij IDEA,Java開發(fā)提升了十倍生產(chǎn)力,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-10-10
Docker?環(huán)境?Nacos2?MySQL8的詳細操作
本文介紹?docker?環(huán)境下安裝并單機運行?Nacos2,使用?docker?環(huán)境下的?MySQL?8?存儲數(shù)據(jù)?,對Docker?環(huán)境?Nacos2?MySQL8相關知識感興趣的朋友跟隨小編一起看看吧2022-09-09

