基礎環境說明
# cat /etc/redhat-release
centos release 6.8 (final)
設定 docker 映象源#
# yum install -y yum-priorities && rpm -ivh && rpm --import /etc/pki/rpm-gpg/rpm-gpg-key-epel-6
安裝 docker-io 和 febootstrap,用來製作centos映象,生成centos的映象#
# yum install docker-io -y #安裝docker
# service docker start #啟動docker
# yum install febootstrap #製作映象工具
製作centos映象檔案 centos6-image 目錄#
# febootstrap -i bash -i wget -i yum -i iputils -i iproute -i man -i vim -i openssh-server -i openssh-clients -i tar -i gzip centos6 centos6-image
-i : 安裝的軟體包
centos6 : 系統版本
centos6-image : 生成的目錄名稱
也可以製作centos7的映象 將位址更換為centos7的位址,例如
# febootstrap -i bash -i net-tools -i wget -i yum -i iputils -i iproute -i man -i vim -i openssh-server -i openssh-clients -i tar -i gzip centos7 centos7-image
設定ssh 進入映象的時候直接進入root 目錄(如果不做這一步則直接進入到 / 目錄)
# cd centos6-image && cp etc/skel/.bash* root/
生成基礎映象 base#
# cd centos6-image && tar -c . |docker import - centos6-base
檢視映象
# docker images
根據基礎映象製作 http 的docker 映象#
# cat dockerfile
from centos6-base # 表示以此映象為基礎映象進行製作
maintainer bamboo # 表示映象製作者的資訊
expose 80 # 表示開啟的埠號
cmd ["/usr/sbin/httpd","-d","foreground"] #表示在啟動映象的時候執行的命令 乙個dockerfile只能寫乙個cmd命令,多個cmd執行最後的那一條
#entrypoint ["/usr/sbin/httpd","-d","foreground"] # 和cmd 用法一樣
build 映象#
-t 後面跟的是即將生成映象的名字也就是上面的 centos6-httpd
最後跟的是 dockerfile的目錄,是目錄
檢視和測試#
# docker images # 檢視新生成的映象centos6-httpd
# docker ps -a # 可以檢視到執行的映象 以及埠對映情況
# 訪問 curl http://ip:800 可以看到http預設的歡迎頁面
製作docker映象
命令docker build,從零開始來建立乙個新的映象。為此,我們需要建立乙個 dockerfile 檔案,其中包含一組指令來告訴 docker 如何構建我們的映象 指定基礎映象 from openjdk 8 dockerfile使用變數 可以在dockerfile中進行引用 工作目錄 指定ver...
Docker映象製作
copy on write 寫時複製 docker映象實際上乙個檔案系統,但只有頂層可以讀寫。dockerfile是軟體的原材料,docker映象是軟體的交付品,而docker容器則可以認為是軟體的執行態。從應用軟體的角度來看,dockerfile docker映象與docker容器分別代表軟體的三...
Docker 映象製作
centos7安裝docker yum install docker y 啟動docker服務 service docker start 拉取映象 docker pull 1102836917 centos7sogood 啟動容器 docker run name centos7 sogood itd...