docker鏡像製作

創建一個安裝好apache工具的容器鏡像

docker run -it docker.io/centos:latest /bin/bash

在container中安裝apache軟件包

yum install httpd

查看鏡像(當前只有一個)

docker images

創建一個安裝好apache工具的容器鏡像

docker commit container_id  創建後的鏡像名稱:標籤
docker commit 456ac4e1d8ef docker.io/centos:httpd

現在查看就會發現多了一個image

docker images

使用新創建的docker.io/centos:httpd鏡像生成一臺容器實例

docker run -it docker.io/centos:httpd /bin/bash

然後我們在container中查看是否已經安裝了apache

rpm -qa httpd

ok

方法二

  • 通過docker build創建一個基於centos的httpd web服務器鏡像
  • 使用docker build創建鏡像時,需要使用Dockerfile文件自動化製作image鏡像

創建工作目錄

mkdir /docker-build
cd /docker-build
touch Dockerfile

編輯Dockerfile

vim Dockerfile

添加一下內容

FROM docker.io/centos:latest
MAINTAINER <sss@localhost>
RUN yum -y install httpd
ADD start.sh /usr/local/bin/start.sh
ADD index.html /var/www/html/index.html

解釋

FROM ---- 基於哪個鏡像
MAINTAINER ---- 鏡像創建者
RUN ---- 安裝軟件用
ADD ---- 將文件拷貝到新生成的鏡像的文件系統對應的目錄,所有拷貝到新鏡像中的文件和文件夾的權限爲0755,uid和gid爲0
cmd ---- container啓動時執行的命令或啓動服務,只能有一條此命令,多條只執行最後一條cmd

創建start.sh腳本啓動httpd服務和apache默認首頁index.html文件

echo '/usr/sbin/httpd-DFOREGROUND'>start.sh
chmod a+x start.sh
echo 'docker image build test' > index.html

/usr/sbin/httpd-DFOREGROUND 相當於systemctl start httpd

在這裏插入圖片描述
使用命令來創建新的image

docker build -t docker.io/centos:httpd2 ./

./表示當前目錄, 當前目錄下要包含Dockerfile

鏡像操作

導出鏡像

  • Save Image To TarBall
  • 保存Image到tar包

語法

docker save -o   導出的鏡像名.tar   本地鏡像名:鏡像標籤

docker save -o docker.io/centos:httpd2.tar docker.io/centos:httpd2

刪除鏡像

docker rmi docker.io/centos:httpd2

導入鏡像

docker load -i docker.io/centos:httpd2.tar
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章