亚洲最大看欧美片,亚洲图揄拍自拍另类图片,欧美精品v国产精品v呦,日本在线精品视频免费

  • 站長資訊網(wǎng)
    最全最豐富的資訊網(wǎng)站

    docker如何自定義鏡像

    docker如何自定義鏡像

    docker如何自定義鏡像?

    1、要實現(xiàn)利用docker技術(shù),首先要先安裝docker包

    本次用的是docker-engine-1.12.1-1.el7.centos.x86_64.rpm;docker技術(shù)是基于本機的底層系統(tǒng),在系統(tǒng)之上,封裝打包并交付應(yīng)用程序。它可以讓容器啟動起來像一個進程一樣快捷。
    基于docker技術(shù),可以把需要的最小化各種系統(tǒng)環(huán)境當(dāng)成一個鏡像封裝上,像啟動一個進程一樣啟動起來。

    2、制作自定義docker鏡像
    先在docker官網(wǎng)上下載一個docker的鏡像

    docker search docker docker pull docker

    官網(wǎng)上的鏡像都是最下化安裝,所以要先配置一個yum源,且在centos鏡像中安裝上平時用的軟件,及啟動httpd和sshd,具體操作如下:

    yum -y install docker-engine-1.12.1-1.el7.centos.x86_64.rpm mkdir testcd testtouch Dockerfile vim Dockerfile FROM centos:latest RUN rm -f /etc/yum.repos.d/* ADD centos7.repo /etc/yum.repos.d/centos7.repo RUN yum -y install httpd openssh-server net-tools bash-completion.noarch  iproute vim-enhanced EXPOSE 80 22 RUN  echo "123456" |passwd --stdin root RUN  /usr/sbin/sshd-keygen ENV EnvironmentFile=/etc/sysconfig/sshd WORKDIR /var/www/html RUN echo "<h1><font color=red>this is centos1:httpd">index.html ENV EnvironmentFile=/etc/sysconfig/httpd ADD qd.sh /root/qd.sh     CMD ["/root/qd.sh"] :wq

    注釋:
    EXPOSE是指定開放容器的哪些端口;
    ADD是把當(dāng)前的目錄下的文件傳到容器中指定目錄下;必須是當(dāng)前路徑
    RUN是指在容器中執(zhí)行哪些命令;
    FROM是指定源鏡像,即這個鏡像是基于哪個鏡像來做的。
    WORKDIR是指定容器中的工作目錄,相當(dāng)于centos系統(tǒng)中的cd命令
    ENV是定義環(huán)境變量
    CMD指定容器啟動來了之后執(zhí)行的第一條命令為什么,需要用[]和引號分隔,如果有選項,則中間用逗號分隔,例如:["/usr/sbin/sshd","-D"]
    創(chuàng)建的文件必須叫Dockerfile
    如果感覺手動書寫這些命令比較復(fù)雜,可以進入基本鏡像中去執(zhí)行各種命令,然后用history把命令查看出來,cp命令出來,用上面的相應(yīng)的格式替換出來就可以了。

    3、編寫啟動腳本
    由于docker鏡像的CMD是定義啟動容器后執(zhí)行的第一條默認(rèn)命令,所以CMD中只能寫一條命令,而在這個案例中,我們要啟動兩個程序sshd和httpd,所以需要寫一個腳本,讓CMD直接執(zhí)行腳本即可。

    vim qd.sh#!/bin/bash/usr/sbin/sshd -D & /usr/sbin/httpd -DFOREGROUND :wq

    chmod +x qd.sh //加執(zhí)行權(quán)限
    4、創(chuàng)建鏡像
    需在當(dāng)前目錄下執(zhí)行

    docker build -t wang:sh2 .

    5、啟動鏡像,并且把容器的端口映射出來

    docker run -d -p 80:80 -p 2022:22 wang:sh2

    把容器的80端口映射到物理機的80端口,把容器的22端口映射到物理機的2022端口。
    6、訪問驗證

    firefox http://192.168.1.194(物理機) ssh -p 2022 192.168.1.194

    7、擴展
    也可以先做一個當(dāng)一的sshd服務(wù)的鏡像出來,再基于sshd這個鏡像來做httpd的容器:

    im Dockerfile FROM wang:sshd RUN yum -y  httpd EXPOSE 80 22ENV EnvironmentFile=/etc/sysconfig/httpd WORKDIR /var/www/html RUN echo "<h1><font color=red>this is httpd and sshd">index.html ADD qd.sh /root/qd.sh     CMD ["/root/qd.sh"]  :wq

    相關(guān)參考:docker教程

    贊(0)
    分享到: 更多 (0)
    網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號