1. <i id="s6b2k"><small id="s6b2k"></small></i>
    <b id="s6b2k"><bdo id="s6b2k"></bdo></b>
  2. <wbr id="s6b2k"></wbr>

    Docker的鏡像制作與整套項目一鍵打包部署的實現_docker

    來源:腳本之家  責任編輯:小易  

    Dockerfile常用指令介紹

    指令 描述
    FROM 構建的新鏡像是基于哪個鏡像。例如:FROM centos:6
    MAINTAINER 鏡像維護者姓名或郵箱地址。例如:MAINTAINER Mr.chen
    RUN 構建鏡像時運行的Shell命令。例如:RUN ["yum","install","httpd"]
      或者RUN yum install httpd
    CMD 運行容器時執行的Shell命令(可以被運行時傳遞的參數覆蓋)。例如:CMD ["-c","/start.sh"]
      或者CMD ["/usr/sbin/sshd","-D"]或者CMD /usr/sbin/sshd -D
    EXPOSE 聲明容器運行的服務端口。例如:EXPOSE 80 443
    ENV 設置容器內環境變量。例如:ENV MYSQL_ROOT_PASSWORD 123456
    ADD 拷貝文件或目錄到鏡像(可以自動解壓縮或者下載)
      例如:ADD ["src","dest"]或者ADD https://xxx.com/html.tar.gz /var/www/html
      或者:ADD html.tar.gz /var/www/html
    COPY 拷貝文件或目錄到鏡像(不能自動解壓縮)。例如:COPY ./start.sh /start.sh
    ENTRYPOINT 運行容器時執行的Shell命令(不能被運行時傳遞的參數覆蓋)。例如:ENTRYPOINT ["/bin/bash","-c","/start.sh"]
      或者ENTRYPOINT /bin/bash -c "/start.sh"
    VOLUME 指定容器掛載點到宿主機自動生成的目錄或其他容器
      例如:VOLUME ["/var/lib/mysql"]
    USER 為RUN,CMD和ENTRYPOINT執行命令指定運行用戶
      例如:USER Mr_chen
    WORKDIR 為RUN,CMD,ENTRYPOINT,COPY和ADD設置工作目錄(指定進入容器中默認被切換的目錄)。
      例如:WORKDIR /data
    HEALTHCHECK 健康檢查。例如:HEALTHCHECK --interval=5m --timeout=3s --retries=3
      CMD curl -f http://localhost/ || exit 1
    ARG 在構建鏡像時指定一些參數。例如:ARG user

    利用Dockerfile編寫簡單的nginxWeb鏡像

    #首先開啟ipv4轉發
    echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf 
    sysctl -p
    net.ipv4.ip_forward = 1
    
    #創建nginx的鏡像目錄
    mkdir -p dockerfile/lib/centos/nginx
    cd dockerfile/lib/centos/nginx
    
    #準備Dockerfile文件
    vim Dockerfile
    FROM centos:7    #構建的新鏡像是基于哪個鏡像(構建的nginx是基于centos7構建的,依賴centos7的系統支持,如果沒有鏡像自動下載)
    MAINTAINER wk    #鏡像制作人   
    RUN yum install -y gcc gcc-c++ make openssl-devel pcre-devel   #構建鏡像時運行shell命令,yum安裝nginx的依賴包
    ADD nginx-1.12.1.tar.gz /tmp     #拷貝文件或目錄到鏡像下,遇到壓縮文件自動解壓縮
    RUN cd /tmp/nginx-1.12.1 && \     #運行shell命令編譯安裝nginx,make -j 給與2個線程編譯 
      ./configure --prefix=/usr/local/nginx && \
      make -j 2 && \
      make install
    RUN rm -rf /tmp/nginx-1.12.1* && yum clean all      #刪除nginx源碼包和清空yum緩存,使容器最輕量化
    COPY nginx.conf /usr/local/nginx/conf          #拷貝文件或目錄到鏡像 
    WORKDIR /usr/local/nginx                   #為RUN,CMD,ENTRYPOINT,COPY和ADD設置工作目錄(指定進入容器中默認被切換的目錄)。
    EXPOSE 80                            #聲明容器的端口號
    CMD ["./sbin/nginx", "-g", "daemon off;"]         #運行容器時執行的shell命令 -g daemon off 不以守護進程的方式開啟nginx,即不以后臺運行的方式開啟nginx
    #將事先準備好的nginx-1.12.1.tar.gz和nginx.conf配置文件拷貝到當前目錄下
    ls
    Dockerfile nginx-1.12.1.tar.gz nginx.conf
    
    #build基于nginx的docker鏡像
    docker build -t nginx:1 .
    #nginx主配置文件cat conf/nginx.conf
    user root; 
    worker_processes auto; 
    
    error_log logs/error.log info;
    
    pid    logs/nginx.pid; 
    
    
    events {
      use epoll; 
    }
    
    http {
    
      include    mime.types;
      default_type application/octet-stream;
    
      log_format main '$remote_addr - $remote_user [$time_local] "$request" '
               '$status $body_bytes_sent "$http_referer" '
               '"$http_user_agent" "$http_x_forwarded_for"';
    
      access_log logs/access.log main;
      sendfile    on;
      keepalive_timeout 65;
    
      server {
        listen 80;
        server_name localhost;
        root html;
        index index.html index.php;
    
        location ~ \.php$ {
          root html;
          fastcgi_pass lnmp_php:9000;    #lnmp_ph為php容器主機名,對應的就是php的IP地址 
          fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; 
          include fastcgi_params;
        }
      }
    }

    構建PHP網站平臺鏡像

    #創建php的鏡像目錄
    mkdir -p /root/dockerfile/lib/centos/php
    cd /root/dockerfile/lib/centos/php
    
    #準備Dockerfile文件
    vim Dockerfile 
    FROM centos:7         #新鏡像基于centos7鏡像
    MAINTAINER wk          #新鏡像制作人
    RUN yum install -y gcc gcc-c++ make gd-devel libxml2-devel libcurl-devel libjpeg-devel libpng-devel openssl-devel      #運行shell安裝依賴
    ADD php-5.6.31.tar.gz /tmp/    #將安裝包考到 /tmp下并自動解壓縮
    
    RUN cd /tmp/php-5.6.31 && \        #編譯安裝php,復制php啟動文件.并修改啟動文件的配置
      ./configure --prefix=/usr/local/php \
      --with-config-file-path=/usr/local/php/etc \
      --with-mysql --with-mysqli \
      --with-openssl --with-zlib --with-curl --with-gd \
      --with-jpeg-dir --with-png-dir --with-iconv \
      --enable-fpm --enable-zip --enable-mbstring && \
      make -j 4 && \
      make install && \
      cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf && \
      sed -i "s/127.0.0.1/0.0.0.0/" /usr/local/php/etc/php-fpm.conf && \
      sed -i "21a \daemonize = no" /usr/local/php/etc/php-fpm.conf
    COPY php.ini /usr/local/php/etc        #將php主配置文件拷貝進去
    
    RUN rm -rf /tmp/php-5.6.31* && yum clean all  #刪除不用的文件,清空yum緩存使容器最輕量化
    
    WORKDIR /usr/local/php        #進入容器的位置,也是php程序的位置
    EXPOSE 9000               #開啟端口9000
    CMD ["./sbin/php-fpm", "-c", "/usr/local/php/etc/php-fpm.conf"]    #開啟php -c 指定主配置文件
    
    #將事先準備好的php.ini文件及php-5.6.31.tar.gz拷貝到當前目錄下
    ls
    Dockerfile php-5.6.31.tar.gz php.ini
    
    #build基于php的docker鏡像
    docker build -t php:1 .

    創建nginx-php網絡環境,并啟動容器

    #創建一個叫做lnmp的網絡
    docker network create lnmp
    dad428646d8f8278f36b80b3b960493aee8be1960bb1f505bfeebc97022b6385
    
    docker network ls
    NETWORK ID     NAME        DRIVER       SCOPE
    0604a9338e1b    bridge       bridge       local
    b68e9da0b1e6    host        host        local
    dad428646d8f    lnmp        bridge       local
    cf4b2d0b4394    none        null        local
    
    #創建nginx-php網頁掛載目錄
    mkdir -p /www
    
    #啟動php容器
    docker run -dit --name lnmp-php --net lnmp --mount type=bind,src=/www,dst=/usr/local/nginx/html php:1
    5b49fc160f9e42364238a937149bbb475036b8a28feddf0fe05c1e70b414a151
    
    #啟動nginx容器
    docker run -dit --name lnmp-nginx --net lnmp -p 8888:80 --mount type=bind,src=/www,dst=/usr/local/nginx/html nginx:1
    7ce4d14cf756859e814186090a12b770916f150ed2a5fab2f0dc6ba8c347aab8
    
    docker ps -a
    CONTAINER ID    IMAGE        COMMAND         CREATED       STATUS       PORTS         NAMES
    7ce4d14cf756    nginx:1       "./sbin/nginx -g 'da…"  16 seconds ago   Up 15 seconds    0.0.0.0:8888->80/tcp  lnmp-nginx
    5b49fc160f9e    php:1        "./sbin/php-fpm -c /…"  6 minutes ago    Up 6 minutes    9000/tcp        lnmp-php
    
    #創建測試頁面php.info
    echo "<?php phpinfo();?>" > /www/index.php

    通過瀏覽器進行訪問測試

    構建JAVA網站環境鏡像

    #創建java鏡像構建存儲目錄
    mkdir -p dockerfile/lib/centos/tomcat
    cd dockerfile/lib/centos/tomcat
    
    #將所需軟件包拷貝到當前目錄下
    ls
    apache-tomcat-8.0.46.tar.gz Dockerfile jdk-8u45-linux-x64.tar.gz server.xml
    
    #籌備Dockerfile
    vim Dockerfile
    FROM centos:7      
    MAINTAINER wk
    
    ADD jdk-8u45-linux-x64.tar.gz /usr/local    #創建javaJDK環境
    ENV JAVA_HOME /usr/local/jdk1.8.0_45       #強行生成一個環境變量
    
    ADD apache-tomcat-8.0.46.tar.gz /usr/local    #解壓tomcat
    COPY server.xml /usr/local/apache-tomcat-8.0.46/conf   #復制配置文件
    
    RUN rm -f /usr/local/*.tar.gz            #刪除安裝包 容器輕量化
    
    WORKDIR /usr/local/apache-tomcat-8.0.46      #工作目錄 進入容器所在的目錄
    EXPOSE 8080                       #映射端口
    ENTRYPOINT ["./bin/catalina.sh", "run"]      #用catalina。sh run前臺啟動tomcat
    
    #build基于tomcat的鏡像
    docker build -t tomcat:1 .
    
    #創建網頁掛載目錄
    mkdir -p /app
    
    #啟動tomcat的容器進程
    docker run -dit --name=tomcat -p 8080:8080 --network lnmp --mount type=bind,src=/app/,dst=/usr/local/apache-tomcat-8.0.46/webapps tomcat:1
    
    docker ps -a
    CONTAINER ID    IMAGE        COMMAND         CREATED       STATUS       PORTS          NAMES
    15eca19688ca    tomcat:1      "./bin/catalina.sh r…"  17 seconds ago   Up 16 seconds    0.0.0.0:8080->8080/tcp  tomcat
    7ce4d14cf756    nginx:1       "./sbin/nginx -g 'da…"  2 hours ago     Up About an hour  0.0.0.0:8888->80/tcp   lnmp-nginx
    5b49fc160f9e    php:1        "./sbin/php-fpm -c /…"  2 hours ago     Up About an hour  9000/tcp         lnmp_php
    
    #創建網站測試頁
    mkdir /app/ROOT
    vim /app/ROOT/index.html 
    ddddddddddddddddddd

    整套項目一鍵打包部署

    Docker Compose用法

    Compose是一個定義和管理多容器的工具,使用Python語言編寫。使用Compose配置文件描述多個容器應用的架構,比如使用什么鏡像,數據卷,網絡,映射端口等;然后一條命令管理所有服務,比如啟動,停止,重啟等

    安裝

    unzip docker-compose-linux-x86_64.zip 
    Archive: docker-compose-linux-x86_64.zip
     inflating: docker-compose     
    
    ll docker-compose
    -rw-r--r-- 1 root root 8858496 Aug 31 2017 docker-compose
    
    chmod +x docker-compose
    
    mv docker-compose /usr/bin/

    YAML文件格式及編寫注意事項

    YAML是一種標記語言很直觀的數據序列化格式,可讀性高。類似于XML數據描述語言,語法比XML簡單的很多

    YAML數據結構通過縮進來表示,連續的項目通過減號來表示,鍵值對用冒號分隔,數組用中括號括起來,hash用花括號括起來

    YAML文件格式注意事項:

    不支持制表符tab鍵縮進,需要使用空格縮進 通常開頭縮進2個空格 字符后縮進1個空格,如冒號,逗號,橫桿 用井號注釋 如果包含特殊字符用單引號引起來 布爾值(true,false,yes,no,on,off)必須用引號括起來,這樣分析器會將他們解釋為字符串。

    配置文件常用字段

    字段 描述
    build 下級字段dockerfile:指定Dockerfile文件名
      下級字段context;構建鏡像上下文路徑
    image 指定鏡像
    command 執行命令,覆蓋默認命令
    container_name 指定容器名稱
    deploy 指定部署和運行服務相關配置,只能在Swarm模式使用
    environment 添加環境變量
    networks 加入網絡,引用頂級networks下條目
    ports 暴露端口,與-p相同,但端口不能低于60
    volumes 掛載宿主機路徑或命名卷。如果是命名卷在頂級volumes定義卷名稱
    restart 重啟策略,默認no,always | on-failure | unless-stopped
    hostname

    容器主機名

    常用命令

    字段 描述
    build 重新構建服務
    ps 列出容器
    up 創建和啟動容器
    exec 在容器里執行命令
    scale 指定一個服務容器啟動數量
    top 顯示容器進程
    logs 查看容器輸出
    down 刪除容器,網絡,數據卷和鏡像
    stop/start/restart 停止/啟動/重啟服務

    一鍵部署LNMP網站平臺

    #查看compose_lnmp包
    tree /root/compose_lnmp/
    /root/compose_lnmp/
    ├── docker-compose.yml       #docker-compose啟動接口文件
    ├── mysql
    │   ├── conf
    │   │   └── my.cnf         #mysql配置文件
    │   └── data            #待掛載mysql數據目錄
    ├── nginx
    │   ├── Dockerfile         #自定義nginx的Docker鏡像配置文件    
    │   ├── nginx-1.12.1.tar.gz    #nginx源碼包
    │   └── nginx.conf         #nginx配置文件
    ├── php
    │   ├── Dockerfile         #自定義php的docker鏡像文件
    │   ├── php-5.6.31.tar.gz     #php源碼包
    │   └── php.ini          #php配置文件
    └── wwwroot            #網頁目錄
      └── index.php         #默認網頁文件
    vim docker-compose.yml     #docker-compose啟動接口文件必須是以.yml 結尾 他和ansbile都是python寫的
    version: '3'           #容器版本為3
    services:             #容器服務有以下 
     nginx:              #nginx的容器
      hostname: nginx       #容器主機名為nginx
      build:           #指定dockerfile文件的位置
       context: ./nginx      #dockerfile文件位置在當前路徑下的nginx目錄里
       dockerfile: Dockerfile  #dockerfile文件名:Dockerfile
      ports:             #指定映射端口主機81映射到80
       - 81:80         
      networks:         #指定容器網卡在lnmp網橋
       - lnmp
      volumes:          #掛載當前目錄下的./wwwroot到容器nginx的網頁目錄
       - ./wwwroot:/usr/local/nginx/html
    
     php:              #和nginx類似
      hostname: php
      build:
       context: ./php
       dockerfile: Dockerfile
      networks:
       - lnmp
      volumes:
       - ./wwwroot:/usr/local/nginx/html
    
     mysql:
      hostname: mysql
      image: mysql:5.6      #下載鏡像mysql5.6版本
      ports:           
       - 3306:3306
      networks:
       - lnmp
      volumes:            #掛載mysql主配置文件和數據文件
       - ./mysql/conf:/etc/mysql/conf.d
       - ./mysql/data:/var/lib/mysql 
      command: --character-set-server=utf8     #執行命令,覆蓋默認命令 
      environment:              #添加環境變量
       MYSQL_ROOT_PASSWORD: 123456
       MYSQL_DATABASE: wordpress
       MYSQL_USER: user
       MYSQL_PASSWORD: user123
    
    networks:     #加入網絡lnmp,引用頂級networks下條目
     lnmp:
    #一鍵部署LNMP
    docker-compose -f docker-compose.yml up    #-f指定當前目錄下的docker-compose為啟動文件,up創建和啟動容器
    #一鍵查看所有部署的容器進程
    docker-compose -f docker-compose.yml ps
        Name           Command        State      Ports     
    -------------------------------------------------------------------------------------
    composelnmp_mysql_1  docker-entrypoint.sh --cha ...  Up   0.0.0.0:3306->3306/tcp 
    composelnmp_nginx_1  ./sbin/nginx -g daemon off;   Up   0.0.0.0:81->80/tcp   
    composelnmp_php_1   ./sbin/php-fpm -c /usr/loc ...  Up   9000/tcp    
    
    #一鍵終止所有部署的容器進程
    docker-compose -f docker-compose.yml stop
    Stopping composelnmp_nginx_1 ... done
    Stopping composelnmp_php_1  ... done
    Stopping composelnmp_mysql_1 ... done#一鍵啟動容器,在后臺運行docker-compose -f docker-compose.yml start
    #一鍵清理所有部署的容器進程 docker-compose -f docker-compose.yml down

    一鍵部署Nginx反向代理Tomcat集群實戰

    #查看compose_nginx_tomcat包
    [root@docker ~]# tree compose_nginx_tomcat/
    compose_nginx_tomcat/
    ├── docker-compose.yml
    ├── mysql
    │  ├── conf
    │  │  └── my.cnf #mysql的配置文件
    │  └── data    #待掛載mysql數據目錄
    ├── nginx
    │  ├── Dockerfile   #自定義鏡像配置文件
    │  ├── nginx-1.12.1.tar.gz #源碼包
    │  └── nginx.conf     #nginx配置文件
    ├── tomcat
    │  ├── apache-tomcat-8.0.46.tar.gz #源碼包
    │  ├── Dockerfile   #自定義鏡像配置文件
    │  └── server.xml   #tomcat配置文件
    └── webapps     
      └── ROOT
        └── index.html #網頁測試文件
    #查看docker-compose的啟動接口文件
     cat compose_nginx_tomcat/docker-compose.yml 
    version: '3'
    services:
     nginx:
      hostname: nginx
      build:
       context: ./nginx
       dockerfile: Dockerfile
      ports:
       - 82:80
      networks:
       - lnmt
      volumes:
       - ./webapps:/opt/webapps
     tomcat01:
      hostname: tomcat01
      build: ./tomcat
      networks:
       - lnmt
      volumes:
       - /usr/local/jdk1.8.0_45:/usr/local/jdk1.8.0_45
       - ./webapps:/usr/local/apache-tomcat-8.0.46/webapps
     tomcat02:
      hostname: tomcat02
      build: ./tomcat
      networks:
       - lnmt
      volumes:
       - /usr/local/jdk1.8.0_45:/usr/local/jdk1.8.0_45  #docker宿主機的java環境被掛載了!
       - ./webapps:/usr/local/apache-tomcat-8.0.46/webapps  #掛載網頁目錄
     mysql:
      hostname: mysql
      image: mysql:5.6
      ports:
       - 3307:3306
      networks:
       - lnmt
      volumes:
       - ./mysql/conf:/etc/mysql/conf.d
       - ./mysql/data:/var/lib/mysql
      environment:
       MYSQL_ROOT_PASSWORD: 123456
       MYSQL_DATABASE: db
       MYSQL_USER: user
       MYSQL_PASSWORD: user123
    networks:
     lnmt:

    每個容器安裝JAVA環境,會使容器過大,所以用本地java環境掛在到tomcat容器內,這樣節省空間

    #由于tomcat容器進程需要掛載docker宿主機本地的java環境
    #所以在docker宿主機本地安裝jdk-8u45-linux-x64.tar.gz
    tar xf jdk-8u45-linux-x64.tar.gz -C /usr/local
    
    #一鍵部署ngxin+tomcat反向代理集群
    docker-compose -f docker-compose.yml up
    nginx反向代理配置文件
    user root; 
    worker_processes auto; 
    
    error_log logs/error.log info;
    
    pid    logs/nginx.pid; 
    
    
    events {
      use epoll; 
    }
    
    http {
    
      include    mime.types;
      default_type application/octet-stream;
    
      log_format main '$remote_addr - $remote_user [$time_local] "$request" '
               '$status $body_bytes_sent "$http_referer" '
               '"$http_user_agent" "$http_x_forwarded_for"';
    
      access_log logs/access.log main;
      sendfile    on;
      keepalive_timeout 65;
      
      upstream www.example.com {
        #ip_hash;
        server tomcat01:8080;   #在compose的接口文件里定義的hostname主機名可直接解析為IP
        server tomcat02:8080;
      }
    
      server {
        listen 80;
        server_name localhost;
      
      location / {
        proxy_pass http://www.example.com;
      }
    
        location ~ \.(html|css|js|jpg|png|gif)$ {
          root /opt/webapps/ROOT;
        }
      }
    }

    到此這篇關于Docker的鏡像制作與整套項目一鍵打包部署的實現的文章就介紹到這了,更多相關Docker 鏡像制作與打包部署內容請搜索真格學網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持真格學網!

    您可能感興趣的文章:dockerfile制作apache鏡像的方法Docker如何制作自己鏡像并上傳dockerhubDocker 制作鏡像Dockerfile和commit操作在Docker中跑Hadoop與鏡像制作方法Dockerfile制作官方Tomcat鏡像及鏡像使用詳解詳解制作各種docker鏡像Docker鏡像制作詳解介紹

  3. 本文相關:
  4. docker中如何刪除image(鏡像)的方法
  5. docker安裝redis設置密碼并連接的操作
  6. centos7安裝docker(2020最新親測可用,直接復制粘貼即可)
  7. docker容器修改配置文件的實現
  8. 解決docker日志掛載的問題
  9. docker部署django+mysql+redis+gunicorn+nginx的實現
  10. docker 安裝elasticsearch 6.x的教程詳解
  11. docker版es、milvus、minio啟動命令詳解
  12. docker 教程之docker hub詳細介紹
  13. docker拉取鏡像的完整步驟
  14. 如何將應用打包成為 Docker 鏡像
  15. 怎么把spring boot打包成鏡像部署到docker
  16. docker 打包鏡像文件需要docker地址嗎
  17. 如何使用Docker實現Redis 3.0集群的一鍵部署交付
  18. 如何把java 應用 制作成docker鏡像
  19. 如何打包創建鏡像和運行Docker容器及常用命令
  20. 如何制作自己的docker鏡像
  21. docker怎么將宿主機系統生成鏡像
  22. 如何把java程序封裝到docker
  23. 如何將應用打包成為 Docker 鏡像
  24. 網站首頁網頁制作腳本下載服務器操作系統網站運營平面設計媒體動畫電腦基礎硬件教程網絡安全dockerhyper-vvmwarevirtualboxxenserverkvmqemuopenvzxencloudstackopenstack云計算技術云其它首頁服務器云和虛擬化dockerfile制作apache鏡像的方法docker如何制作自己鏡像并上傳dockerhubdocker 制作鏡像dockerfile和commit操作在docker中跑hadoop與鏡像制作方法dockerfile制作官方tomcat鏡像及鏡像使用詳解詳解制作各種docker鏡像docker鏡像制作詳解介紹docker中如何刪除image(鏡像)的方法docker安裝redis設置密碼并連接的操作centos7安裝docker(2020最新親測可用,直接復制粘貼即可)docker容器修改配置文件的實現解決docker日志掛載的問題docker部署django+mysql+redis+gunicorn+nginx的實現docker 安裝elasticsearch 6.x的教程詳解docker版es、milvus、minio啟動命令詳解docker 教程之docker hub詳細介紹docker拉取鏡像的完整步驟docker 給運行中的容器設置端口映docker獲取鏡像報錯docker: errodocker.service啟動失敗:unit ndocker 清理命令集錦淺談docker-compose網絡設置之neubuntu14.04+docker的安裝及使用docker容器如何優雅的終止詳解docker容器訪問宿主機網絡的方法詳解如何使用docker部署一個web項詳解docker國內鏡像拉取和鏡像加docker部署mysql 實現遠程連接的示例代碼mac 中docker安裝mysql的圖文教程輕松安裝docker并運行docker swarm模式簡單談談docker鏡像的使用方法docker在centos7下不能下載鏡像timeout的docker安裝kong網關的方法示例docker實踐之python應用容器化詳解如何使用docker部署一個web項目并打包docker 數據管理named volume詳解使用docker搭建redis主從復制的集群
    免責聲明 - 關于我們 - 聯系我們 - 廣告聯系 - 友情鏈接 - 幫助中心 - 頻道導航
    Copyright © 2017 www.yu113.com All Rights Reserved
    战天txt全集下载