您好,登錄后才能下訂單哦!
基礎(chǔ)環(huán)境說(shuō)明
# cat /etc/redhat-release
CentOS release 6.8 (Final)
設(shè)置 docker 鏡像源#
# yum install -y yum-priorities && rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm && rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
安裝 docker-io 和 febootstrap,用來(lái)制作centos鏡像,生成centos的鏡像#
# yum install docker-io -y #安裝docker
# service docker start #啟動(dòng)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 http://mirrors.aliyun.com/centos/6/os/x86_64/
-i : 安裝的軟件包
centos6 : 系統(tǒng)版本
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 https://mirrors.aliyun.com/centos/7/os/x86_64/
設(shè)置ssh 進(jìn)入鏡像的時(shí)候直接進(jìn)入root 目錄(如果不做這一步則直接進(jìn)入到 / 目錄)
# cd centos6-image && cp etc/skel/.bash* root/
生成基礎(chǔ)鏡像 base#
# cd centos6-image && tar -c . |docker import - centos6-base
查看鏡像
# docker images
根據(jù)基礎(chǔ)鏡像制作 http 的docker 鏡像#
# cat Dockerfile
FROM centos6-base # 表示以此鏡像為基礎(chǔ)鏡像進(jìn)行制作
MAINTAINER bamboo # 表示鏡像制作者的信息
RUN yum install -y yum-priorities && rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/Packages/e/epel-release-6-8.noarch.rpm && rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
RUN yum install tar gzip vim wget httpd httpd-* -y
RUN sed -i 's/#ServerName www.example.com:80/ServerName www.example.com:80/' /etc/httpd/conf/httpd.conf
EXPOSE 80 # 表示開啟的端口號(hào)
CMD ["/usr/sbin/httpd","-D","FOREGROUND"] #表示在啟動(dòng)鏡像的時(shí)候執(zhí)行的命令 一個(gè)Dockerfile只能寫一個(gè)CMD命令,多個(gè)CMD執(zhí)行最后的那一條
#ENTRYPOINT ["/usr/sbin/httpd","-D","FOREGROUND"] # 和CMD 用法一樣
build 鏡像#
# cd centos6-image && docker build -t centos6-httpd /root/bamboo
-t 后面跟的是即將生成鏡像的名字也就是上面的 centos6-httpd
最后跟的是 Dockerfile的目錄,是目錄
查看和測(cè)試#
# docker images # 查看新生成的鏡像centos6-httpd
# docker -d --name http -p 800:80 centos6-http
# docker ps -a # 可以查看到運(yùn)行的鏡像 以及端口映射情況
# 訪問(wèn) curl http://ip:800 可以看到http默認(rèn)的歡迎頁(yè)面
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。