国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網站 > 建站經驗 > 正文

詳解制作各種docker鏡像

2019-11-02 15:51:50
字體:
來源:轉載
供稿:網友

做了一個星期的鏡像,收貨頗多,現在整理記錄下來,當做工作筆記吧。把常用的幾個鏡像的Dockerfile分享下。

制作基礎docker鏡像

第一步:設置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,用來制作centos鏡像,到時候會生成個centos的鏡像。

yum -y install docker-io;如果沒有安裝docker,則需要先安裝docker service docker start ;啟動docker yum -y install febootstrap;制作docker鏡像工具 

第三步:作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/ 

上一步執行后會生成一個centos6-image文件目錄,上面命令中參數 -i 后面的都是基礎鏡像中安裝的一些服務。如果你不想要這么多服務(因為把所有服務安裝后鏡像會變的非常大)可以只安裝一些基本的,必不可少的服務。centos6是指版本,centos6-image是生成的目錄名稱。

第四步:這時root目錄下沒有任何文件,也不沒有隱藏的點文件,如:.bash_logout  .bash_profile  .bashrc如果這時制作出來的鏡像使用ssh登錄,會直接進入根目錄下,而一般鏡像都是進入root目錄下的,所以可以在centos6-image目錄的root目錄把.bash_logout  .bash_profile  .bashrc這三個文件設置一下。

cd centos6-image && cp etc/skel/.bash* root/

第五步:生成最基礎的base鏡像

cd centos6-image && tar -c .|docker import - centos6-base 

第六步:查看鏡像,也可以直接進入centos6-base查看

docker images ;這個是查看所有生成的鏡像 docker run -i -t centos:centos6 /bin/bash;進終端(沒有ssh服務),-i 分配終端,-t表示在前臺執行,-d表示在后臺運行 

根據基礎鏡像制作ssh的docker鏡像

制作ssh登錄鏡像,最主要的就是Dockerfile(當然這里說的就是Dockerfile這種方法),在某個目錄中新建一個Dockerfile文件(命名一定要為Dockerfile)。

下面來分析下Dockerfile文件:

#Dockerfile FROM centos6-base #表示把某個鏡像作為基礎鏡像,相當于面向對象語言中繼承,表示生成的鏡像里面包含了基礎鏡像的一些服務 MAINTAINER yzh #這是個鏡像作者信息 RUN ssh-keygen -q -N "" -t dsa -f /etc/ssh/ssh_host_dsa_key RUN ssh-keygen -q -N "" -t rsa -f /etc/ssh/ssh_host_rsa_key RUN sed -ri 's/session required  pam_loginuid.so/#session required  pam_loginuid.so/g' /etc/pam.d/sshd RUN mkdir -p /root/.ssh && chown root.root /root && chmod 700 /root/.ssh #上面幾行都是配置ssh登錄目錄和登錄驗證的,而ssh的安裝是在基礎鏡像centos6-base中完成的(-i openssh-server -i openssh-clients) EXPOSE 22 #表示開啟哪個端口號,22號端口是給ssh服務使用的;如果不需要端口號可以注釋掉這行 RUN echo 'root:redhat' | chpasswd #這是修改root密碼,其實這種方法不是很好,因為這是設置root密碼,不是更改 RUN 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 RUN yum install tar gzip gcc vim wget -y #上面是安裝些工具和源 ENV LANG en_US.UTF-8 ENV LC_ALL en_US.UTF-8 #設置環境 CMD /usr/sbin/sshd -D #設置開啟的服務,每個鏡像只能有一個CMD有效 #End 
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 北宁市| 黑龙江省| 玉溪市| 金乡县| 右玉县| 普格县| 安顺市| 温宿县| 琼海市| 泰安市| 银川市| 利辛县| 汕尾市| 忻州市| 乡宁县| 大连市| 田东县| 马龙县| 静宁县| 普兰店市| 枝江市| 新乡县| 乐清市| 阿拉尔市| 吴旗县| 永宁县| 措勤县| 连江县| 永年县| 咸丰县| 邵武市| 大足县| 西昌市| 富平县| 格尔木市| 东乡| 枝江市| 喀喇| 东阳市| 九龙坡区| 清河县|