欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

Docker-compose使用-創(chuàng)新互聯(lián)

Docker-compose是Docker容器工具,通過yml文件定義多docker容器應(yīng)用,方便快速啟動、停止N多容器。使用docker-compose命令根據(jù)yml文件的定義創(chuàng)建或管理多容器,但限于單臺宿主機(jī),如果跨主機(jī)管理容器,可用Docker Smarm或流行K8S。

創(chuàng)新互聯(lián)公司成都網(wǎng)站建設(shè)按需網(wǎng)站策劃,是成都網(wǎng)站營銷推廣公司,為花箱提供網(wǎng)站建設(shè)服務(wù),有成熟的網(wǎng)站定制合作流程,提供網(wǎng)站定制設(shè)計(jì)服務(wù):原型圖制作、網(wǎng)站創(chuàng)意設(shè)計(jì)、前端HTML5制作、后臺程序開發(fā)等。成都網(wǎng)站維護(hù)熱線:18982081108
  1. Docker compose安裝
    通過pip安裝docker-compose。

    #pip install docker-compose
    # docker-compose -v          #查看版本
    docker-compose version 1.24.1, build 4667896

    如果 pip install docker-compose 安裝時(shí)間比較長,從官網(wǎng)下載(原因都懂的),可更換鏡像源。

    #pip install -i https://pypi.tuna.tsinghua.edu.cn/simple docker-compose         # -i 指定鏡像源地址
  2. Docker compose實(shí)施例子
    公司正好有個小項(xiàng)目,取名partner,基于spring boot的。需進(jìn)行訪問,加上Nginx,計(jì)劃用docker-compose做。
    目錄結(jié)構(gòu)如下:

    [root@docker-qa docker-compose]# 
    drwxr-xr-x 2 root root 4096 Sep 12 16:29 b2b-partner
    -rw-r--r-- 1 root root  660 Sep 12 15:52 docker-compose.yml
    drwxr-xr-x 3 root root 4096 Sep 12 15:04 logs   #其中存放所有容器log,容器應(yīng)用log目錄映射
    drwxr-xr-x 3 root root 4096 Sep 12 15:28 nginx
    [root@docker-qa docker-compose]# pwd
    /data/docker/docker-compose

    Nginx和partner目錄分別是兩個應(yīng)用容器,存放基礎(chǔ)配置、jar包、Dockerfile。

    #ll b2b-partner/
    總用量 61672
    -rw-r--r-- 1 root root 63145378 Sep 12 12:05 b2b-partner.jar
    -rw-r--r-- 1 root root      457 Sep 12 14:50 Dockerfile
    # ll nginx/
    總用量 20
    drwxr-xr-x 2 root root 4096 Sep 12 16:42 conf.d
    -rw-r--r-- 1 root root  349 Sep 12 12:10 Dockerfile
    -rw-r--r-- 1 root root  705 Sep 12 11:41 nginx.conf
    -rw------- 1 root root 1679 Sep 12 11:26 xmbaby.com.cn.key
    -rw------- 1 root root 3973 Sep 12 11:26 xmbaby.com.cn.pem

    容器partner的Dockerfile:

    # This is b2b-partner
    # Version: 1.0
    # Author: yuhuanghui
    # Base image
    FROM registry.cn-hangzhou.aliyuncs.com/xmbaby-pre/ms-jdk8
    # Maintainer
    MAINTAINER b2b-partner-qa yuhuanghui@alaxiaoyou.com
    # Set timezome
    ENV TZ=Asia/Shanghai
    RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
    #EXPOSE 8081
    ADD b2b-partner.jar /data/httpd/
    WORKDIR /data/httpd/
    ENTRYPOINT java -Xmx256m -Xss512k -jar b2b-partner.jar

    容器Nginx的Dockerfile:

    # This is b2b-nginx
    # Version: 1.0
    # Author: yuhuanghui
    # Base image
    FROM nginx:1.12
    # Maintainer
    MAINTAINER b2b-nginx yuhuanghui@alaxiaoyou.com
    # Set timezome
    ENV TZ=Asia/Shanghai
    RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
    RUN mkdir -p  /data/certs/
    COPY ./xmbaby.com.cn.* /data/certs/     #https訪問,需SSL證書

    docker-compose.yml的services編寫規(guī)則,主要包含version、services、network
    關(guān)鍵的docker-compose.yml如下:

    version: '2.2'
    services:
    #db:
    # image:mysql:5.7     #image 如果本地沒有鏡像,則會在公共鏡像倉庫拉取對應(yīng)鏡像
    nginx:
    build: ./nginx  #build 基于指定Dockerfile路徑,compose利用它進(jìn)行構(gòu)建
    container_name: b2b-nginx
    #depends_on:        #depends_on 容器依賴
      #- b2b-partner
    #links:     # links 鏈接到其他服務(wù)器中的容器,使用alias別名則會在容器的/etc/hosts文件創(chuàng)建
      #- db:mysql5.7
      #- b2b-partner:b2b-partner
    volumes:        #volumes掛載目錄(Host:Container),ro表示只讀
      - ./nginx/nginx.conf:/etc/nginx/nginx.conf:ro
      - ./nginx/conf.d:/etc/nginx/conf.d:ro
      - ./logs/nginx:/var/log/nginx/
    ports:      #ports 映射端口(Host:Container)
      - "80:80"
      - "443:443"
    restart: always
    command: nginx -g 'daemon off;'     #command 會覆蓋容器啟動后默認(rèn)執(zhí)行的命令。
    b2b-partner:
    build: ./b2b-partner
    container_name: b2b-partner
    ports:
      - "8091:8081"
    restart: always

    docker-compose.yml中還有network網(wǎng)絡(luò)模式,有:

    network_mode: "bridge"
    network_mode: "host"
    network_mode: "none"
    network_mode: "service:[service name]"
    network_mode: "container:[container name/id]"

    這里docker-compose.yml中沒有指定network,但進(jìn)行docker-compose up -d 命令啟動時(shí)會顯示“Creating network "docker-compose_default" with the default driver”,會創(chuàng)建默認(rèn)的network。
    其中nginx配置parner的server虛擬主機(jī)主要配置如下:

    server {
    listen 443;
    server_name aaa;
    index  index.html index.htm index.php;
    ssl                  on;
    ssl_certificate     /data/certs/aaa;
    ssl_certificate_key   /data/certs/aaa;
    ssl_session_timeout  5m;
    
    access_log /var/log/nginx/aaa-ssl.access.log main;
    error_log  /var/log/nginx/aaa-ssl.error.log;
    
    location /
    {
        proxy_next_upstream http_502 http_504 error timeout invalid_header;
        proxy_set_header Host  $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto https;
        proxy_buffer_size 64k;
        proxy_buffers 4 32k;
        proxy_busy_buffers_size 64k;
        proxy_temp_file_write_size 64k;
        proxy_max_temp_file_size 512m;
        proxy_connect_timeout 1800;
        proxy_read_timeout    1800;
        proxy_send_timeout    1800;
        #proxy_pass http://aaa:8091;
        proxy_pass http://172.17.0.1:8091;
    }
    }

    上面的反向代理配置剛開始是 “#proxy_pass http://b2b-partner:8091;” 發(fā)現(xiàn)不行,后面換成docker0虛擬網(wǎng)橋IP(其他docker容器的網(wǎng)關(guān)),即 “proxy_pass http://172.17.0.1:8091;” 測試通過。
    第二天突然靈光開竅,測試發(fā)現(xiàn),其實(shí)反向代理proxy_pass端口不是映射出去的端口,是容器內(nèi)的端口,換成“proxy_pass http://b2b-partner:8081;”, 測試通過。Nginx容器反向代理的格式是:“proxy_pass http://容器名稱:容器Port;”。

  3. 運(yùn)行Docker compose及docker-compose常用命令
    常用命令:
    docker-compose up -d #構(gòu)建啟動docker-compose.yml中容器,后臺運(yùn)行
    docker-compose down #刪除所有容器
    docker-compose config -q #驗(yàn)證docker-compose.yml文件配置,配置正確,不輸出任何東西
    docker-compose ps #顯示所有容器
    docker-compose build nginx #構(gòu)建nginx鏡像
    docker-compose rm nginx #刪除nginx容器
    docker-compose start nginx #啟動nginx容器
    docker-compose stop nginx #停止nginx容器
    docker-compose logs -f nginx #查看nginx容器實(shí)時(shí)log
    根據(jù)如上命令,啟動docker-compose。第一次輸入docker-compose up -d會進(jìn)行構(gòu)建文件中的鏡像,需要先進(jìn)入docker-compose目錄進(jìn)行up、down命令等操作。

    [root@docker-qa docker-compose]# docker-compose up -d
    Creating network "docker-compose_default" with the default driver
    Creating b2b-partner ... done
    Creating b2b-nginx   ... done
    [root@docker-qa docker-compose]# docker-compose down
    Stopping b2b-nginx   ... done
    Stopping b2b-partner ... done
    Removing b2b-nginx   ... done
    Removing b2b-partner ... done
    Removing network docker-compose_default
    [root@docker-qa docker-compose]# docker-compose ps
    Name                  Command               State                    Ports                  
    #-----------------------------------------------------------------------------------------------
    b2b-nginx     nginx -g daemon off;             Up      0.0.0.0:443->443/tcp, 0.0.0.0:80->80/tcp
    b2b-partner   /bin/sh -c java -Xmx256m - ...   Up      0.0.0.0:8091->8081/tcp
  4. 測試運(yùn)行
    輸入Nginx配置的域名,https://partner-test.xmbaby.com.cn/app/verification/send?telephone=13505182554
    Docker-compose使用
    測試通過,后面如有其他容器應(yīng)用,可在docker-compose.yml下配置對應(yīng)的service,Nginx配置對應(yīng)的server即可。

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。

網(wǎng)頁標(biāo)題:Docker-compose使用-創(chuàng)新互聯(lián)
本文來源:http://chinadenli.net/article34/dgpdse.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供軟件開發(fā)網(wǎng)站收錄、小程序開發(fā)網(wǎng)站導(dǎo)航、ChatGPT網(wǎng)站改版

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

商城網(wǎng)站建設(shè)