久久精品精选,精品九九视频,www久久只有这里有精品,亚洲熟女乱色综合一区
    分享

    Docker 制作Nginx鏡像

     1qxm19 2021-01-07

    參考文章:https://www.jianshu.com/p/dc4cd0547d1e

       

    鏡像的制作方式有兩種,一種是下載別人的鏡像之后再制作成自己的鏡像,一種是從頭開始制作自己的鏡像

    第一種,下載別人的鏡像來修改。

    安全起見下載官方的centos系統鏡像,在該系統內安裝nginx之后,在封裝成鏡像

    下載centos系統鏡像

    docker pull centos

    使用鏡像啟動容器并進入容器

    docker run -it --name centos.nginx centos /bin/bash

    安裝epel源和nginx

    yum install epel-release -y

    yum install nginx -y

       

       

    配置nginx為前臺啟動模式

    在nginx的配置文件中加入如下參數

    vi /etc/nginx/nginx.conf

    daemon off;

    使用exit退出容器,然后使用docker commit命令制作鏡像

    查看容器

    docker ps -a

    制作鏡像

    docker commit -m "nginx" -a "centos-nginx" -c 'CMD ["/usr/sbin/nginx"]' 86ae1d7284e3 centos-nginx

    -m 來指定提交的說明信息,跟我們使用的版本控制工具一樣;

    -a 可以指定更新的用戶信息;之后是用來創建鏡像的容器的 ID;最后指定目標鏡像的倉庫名和 tag 信息。創建成功后會返回這個鏡像的 ID 信息;

    -c 制作鏡像之后執行的命令

    86ae1d7284e3 容器ID,就是希望將哪個容器重新制作

    centos-nginx 制作之后的鏡像名稱

    使用新鏡像啟動容器

    先查看鏡像

    docker images

    使用新鏡像啟動容器

    docker run --name nginx -p 8888:80 -d centos-nginx

    --name nginx 為容器定義名稱,名稱為nginx

    -p 8888:80 將宿主機的8888端口映射到容器內的80端口

    -d 指定該容器在后天運行

    cetnos-nginx 指定使用centos-nginx鏡像來創建容器

    使用瀏覽器訪問容器內的nginx

    第二種,全新制作自己的容器使用Dockerfile文件

    Dockerfile是使用源代碼構建docker的鏡像,編輯一個Dockerfile,而后根據此文件制作;

    docker可以自動通過讀取Dockerfile中的指令,自動構建鏡像。

    Dockerfile是一個文本文檔包含所有用戶的命令,可以在命令行上調用組建一個鏡像。

    使用docker build命令的用戶可以讀取docker file中的連續指令,自動構建一個鏡像。

       

    示例使用dockerfile文件制作nginx的鏡像:

    #創建工作目錄
    mkdir nginx

    #進入nginx目錄,創建nginx測試頁,創建dockerfile文件

    cd nginx/

    vim index.html
    <h1> nginx test page </h1>

    vim dockerfile

    #dockerfile 文件內容開始

    FROM centos:latest #基準鏡像
    MAINTAINER "Withdocker" #作者信息
    WORKDIR /usr/local/src/ #工作目錄
    ENV NG_VERSION nginx-1.16.0 #定義環境變量
    RUN yum -y install epel-release #安裝epel倉庫
    RUN yum -y install wget && wget http:///download/$NG_VERSION.tar.gz && tar xzvf $NG_VERSION.tar.gz #下載nginx文件并解壓
    #安裝編譯依賴包
    RUN yum install -y gcc gcc-c++ glibc make autoconf openssl openssl-devel && yum install -y pcre-devel libxslt-devel gd-devel GeoIP GeoIP-devel GeoIP-data
    RUN yum clean all #清理倉庫
    RUN useradd -M -s /sbin/nologin nginx #創建nginx用戶
    WORKDIR /usr/local/src/$NG_VERSION #切換工作目錄
    #編譯安裝nginx
    RUN ./configure --user=nginx --group=nginx --prefix=/usr/local/nginx --with-file-aio --with-http_ssl_module --with-http_realip_module --with-http_addition_module --with-http_xslt_module --with-http_image_filter_module --with-http_geoip_module --with-http_sub_module --with-http_dav_module --with-http_flv_module --with-http_mp4_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_auth_request_module --with-http_random_index_module --with-http_secure_link_module --with-http_degradation_module --with-http_stub_status_module && make && make install
    ADD index.html /usr/local/nginx/html #復制測試頁面到容器中
    VOLUME /usr/local/nginx/html #設置容器中要掛在到宿主機的目錄
    ENV PATH /usr/local/nginx/sbin:$PATH #設置sbin環境變量
    EXPOSE 80/tcp #暴露80端口
    ENTRYPOINT ["nginx"]
    CMD ["-g","daemon off;"]
    #ENTRYPOINTCMD連用時,CMD的命令是ENTRYPOINT命令的參數,兩者連用相當于nginx -g "daemon off;"而當一起連用的時候命令格式最好一致(這里選擇的都是json格式的是成功的,如果都是sh模式可以試一下)

    #dockerfile 文件內容結束

    #構建鏡像
    docker build ./ -t mynginx

    #指明構建的根目錄,有dockerfile的就是構建根目錄,-t指明tag標簽,執行該命令后程序會讀取并執行dockerfile文件內的所有命令。下圖為執行成功的結果截圖。

    查看鏡像

    docker images

    #根據構建的鏡像運行容器
    docker run --name mynginx -d -p 8123:80 mynginx

    #查看容器
    docker ps

    #訪問nginx

      本站是提供個人知識管理的網絡存儲空間,所有內容均由用戶發布,不代表本站觀點。請注意甄別內容中的聯系方式、誘導購買等信息,謹防詐騙。如發現有害或侵權內容,請點擊一鍵舉報。
      轉藏 分享 獻花(0

      0條評論

      發表

      請遵守用戶 評論公約

      類似文章 更多

      主站蜘蛛池模板: 国产精品专区第1页| 国产精品久久久久久久网 | 草草影院精品一区二区三区| 国内精品免费久久久久电影院97| 人人人澡人人肉久久精品| 亚洲熟妇少妇任你躁在线观看无码| 国产精品一区二区AV| 日本喷奶水中文字幕视频| 亚洲A成人片在线播放| 強壮公弄得我次次高潮A片| 伊人无码一区二区三区| 最新亚洲人成网站在线影院| 精品久久人妻AV中文字幕| 麻豆国产AV剧情偷闻女邻居内裤| 51国偷自产一区二区三区| 99久久婷婷国产综合精品青草漫画| 饥渴的少妇2中文字幕| 成年女人片免费视频播放A| 污污污污污污WWW网站免费| 国产成年码AV片在线观看| 色一情一乱一伦麻豆| 任你躁国产自任一区二区三区| 少妇被无套内谢免费看| 97人人添人澡人人爽超碰| 亚洲偷自拍国综合| 精品国产免费一区二区三区| 午夜自产精品一区二区三区| 久久精品国产蜜臀av| 久久久久无码国产精品不卡| 女人18毛片水真多免费看| 公喝错春药让我高潮| 老司机亚洲精品影院| 国产乱码1卡二卡3卡四卡5| 精品无码一区二区三区AV| 美女内射无套日韩免费播放| 亚洲人成电影在线天堂色| 免费又大粗又爽又黄少妇毛片 | 亚洲色大成成人网站久久| 国产精品中文字幕久久| 精品无码人妻一区二区三区品| 两个人看的视频WWW在线高清|