製作docker映象

2021-12-30 06:53:38 字數 2080 閱讀 2119

基礎環境說明

# 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...