由現(xiàn)有鏡像構(gòu)建新鏡像都是通過Dockerfile文檔來實(shí)現(xiàn)的。
1、新建Dockerfile文檔
在/home文件夾下新建一個(gè)文件夾,專門用來測(cè)試的,/docker/test文件夾,在文件夾中新建一個(gè)Dockerfile文檔,文檔中寫入以下內(nèi)容:
FROM ubuntu:18.04
RUN apt-get update
RUN apt-get install -y vim
EXPOSE 80
Dockerfile文檔中,每行的第一個(gè)關(guān)鍵字都必須大寫。
第一行的意思是新建鏡像的源鏡像是Ubuntu 18.04版本。
第二行是新建鏡像后執(zhí)行的第一條命令,表示新建鏡像后,首先更新后續(xù)下載各種應(yīng)用的網(wǎng)址。
第三行是安裝vim,方便后續(xù)在命令行中編輯腳本,-y是為了讓其自動(dòng)安裝,否則安裝過程會(huì)讓你輸入Y/n,如果不輸入,就會(huì)執(zhí)行失敗。
最后第四行的意思是暴露80端口,像昨天的文章中的webapp端口映射,如果在這個(gè)鏡像中執(zhí)行到端口5000的映射,是會(huì)失敗的,因?yàn)檫@個(gè)端口未對(duì)外開放。
2、在Dockerfile所在目錄下執(zhí)行命令
su root
cd docker/test
docker build -t cdl-test-0.0 .
最后一句話中,-t后面跟的是指定的鏡像名,鏡像名后面再跟一個(gè)點(diǎn),表示是通過當(dāng)前目錄下的Dockerfile中的內(nèi)容來創(chuàng)建新的鏡像,所以注意,前一句cd命令和這一句最后的點(diǎn)都不能少??!
3、查看新鏡像
結(jié)果:
REPOSITORY TAG IMAGE ID CREATED SIZE
cdl-test-0.0 latest da5d6c1147a7 4 minutes ago 185MB
runoob/centos 6.7 542cf01e7692 27 minutes ago 191MB
ubuntu 16.04 52b10959e8aa 5 days ago 115MB
ubuntu 18.04 16508e5c265d 5 days ago 84.1MB
centos 6.7 f2e2f7b8308b 3 weeks ago 191MB
training/webapp latest 6fae60ef3446 3 years ago 349MB
4、查看鏡像中安裝的應(yīng)用
#進(jìn)入新建鏡像的命令行
docker run -it cdl-test-0.0 /bin/bash
#打開vim
vim
#安裝python3.7
apt-get install python3.7
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。