亚洲视频二区_亚洲欧洲日本天天堂在线观看_日韩一区二区在线观看_中文字幕不卡一区

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.430618.com 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

目錄
  • 1.Docker Compose
    • 1.1.初識DockerCompose
    • 1.2.安裝Docker Compose
    • 1.3.部署微服務集群
      • 1.3.1.compose文件
      • 1.3.2.修改微服務配置
      • 1.3.3.打包
      • 1.3.4.拷貝jar包到部署目錄
      • 1.3.5.部署
  • 2.Docker鏡像倉庫
    • 2.1.搭建私有鏡像倉庫
      • 2.2.推送、拉取鏡像

      1.Docker Compose

      Docker Compose可以基于Compose文件幫我們快速的部署分布式應用,而無需手動一個個創建和運行容器!

      Docker?Compose與Docker鏡像倉庫詳解

      1.1.初識DockerCompose

      Compose文件是一個文本文件,通過指令定義集群中的每個容器如何運行。格式如下:

      version: "3.8"
       services:
        mysql:
          image: mysql:5.7.25
          environment:
           MYSQL_ROOT_PASSWORD: 123 
          volumes:
           - "/tmp/mysql/data:/var/lib/mysql"
           - "/tmp/mysql/conf/hmy.cnf:/etc/mysql/conf.d/hmy.cnf"
        web:
          build: .
          ports:
           - "8090:8090"

      上面的Compose文件就描述一個項目,其中包含兩個容器:

      • mysql:一個基于mysql:5.7.25鏡像構建的容器,并且掛載了兩個目錄
      • web:一個基于docker build臨時構建的鏡像容器,映射端口時8090

      Docker Compose的詳細語法參考官網:Compose file specification

      其實Docker Compose文件可以看做是將多個docker run命令寫到一個文件,只是語法稍有差異。

      1.2.安裝Docker Compose

      參考安裝Docker

      1.3.部署微服務集群

      需求:將之前的cloud-demo微服務集群利用Docker Compose部署

      實現思路

      ① 根據集群建立的cloud-demo文件夾,編寫好了docker-compose文件

      ② 修改自己的cloud-demo項目,將nacos地址都命名為docker-compose中的服務名

      ③ 使用maven打包工具,將項目中的每個微服務都打包為app.jar

      ④ 將打包好的app.jar拷貝到cloud-demo中的每一個對應的子目錄中

      ⑤ 將cloud-demo上傳至虛擬機,利用docker-compose up -d來部署

      1.3.1.compose文件

      根據集群建立的cloud-demo文件夾,編寫好了docker-compose文件,而且每個微服務都準備了一個獨立的目錄:

      Docker?Compose與Docker鏡像倉庫詳解

      內容如下:

      version: "3.2"
      
      services:
        userservice:
          build: ./user-service
        orderservice:
          build: ./order-service
        gateway:
          build: ./gateway
          ports:
            - "10010:10010"

      可以看到,其中包含4個service服務:

      • nacos:作為注冊中心和配置中心
        • image: nacos/nacos-server: 基于nacos/nacos-server鏡像構建
        • environment:環境變量
        • MODE: standalone:單點模式啟動
        • ports:端口映射,這里暴露了8848端口
      • userservice、orderservice、gateway:都是基于Dockerfile臨時構建的

      查看微服務目錄,可以看到都包含Dockerfile文件:

      Docker?Compose與Docker鏡像倉庫詳解

      內容如下:

      FROM java:openjdk-8u111-alpine
      COPY ./gateway.jar /tmp/app.jar
      ENTRYPOINT java -jar /tmp/app.jar
      FROM java:openjdk-8u111-alpine
      COPY ./order-service.jar /tmp/app.jar
      ENTRYPOINT java -jar /tmp/app.jar
      FROM java:openjdk-8u111-alpine
      COPY ./user-service.jar /tmp/app.jar
      ENTRYPOINT java -jar /tmp/app.jar

      1.3.2.修改微服務配置

      因為微服務將來要部署為docker容器,而容器之間互聯不是通過IP地址,而是通過容器名。這里我們將order-serviceuser-servicegateway服務的nacos地址都修改為基于容器名的訪問。

      如下所示:

      spring:
        application:
          name: orderservice
        cloud:
          nacos:
            server-addr: nacos:8848 # nacos服務地址

      1.3.3.打包

      接下來需要將我們的每個微服務都打包。

      可以通過修改pom.xml中的打包名稱來實現,每個微服務都需要修改:

      <build>
        <!-- 服務打包的最終名稱 -->
        <finalName>gateway</finalName>
        <plugins>
          <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
          </plugin>
        </plugins>
      </build>

      打包后:

      Docker?Compose與Docker鏡像倉庫詳解

      1.3.4.拷貝jar包到部署目錄

      編譯打包好的jar包文件,需要放到Dockerfile的同級目錄中。注意:每個微服務的jar包放到與服務名稱對應的目錄,別搞錯了。

      user-service

      Docker?Compose與Docker鏡像倉庫詳解

      order-service

      Docker?Compose與Docker鏡像倉庫詳解

      gateway

      Docker?Compose與Docker鏡像倉庫詳解

      1.3.5.部署

      最后,我們需要將文件整個cloud-demo文件夾上傳到虛擬機中,理由DockerCompose部署。

      上傳到任意目錄:

      Docker?Compose與Docker鏡像倉庫詳解

      部署:

      進入cloud-demo目錄,然后運行下面的命令:

      docker-compose up -d

      2.Docker鏡像倉庫

      2.1.搭建私有鏡像倉庫

      參考安裝Docker

      2.2.推送、拉取鏡像

      推送鏡像到私有鏡像服務必須先tag,步驟如下:

      ① 重新tag本地鏡像,名稱前綴為私有倉庫的地址:192.168.0.111:8080/

      docker tag nginx:latest 192.168.0.111:8080/nginx:1.0 

      ② 推送鏡像

      docker push 192.168.0.111:8080/nginx:1.0 

      ③ 拉取鏡像

      docker pull 192.168.0.111:8080/nginx:1.0 

      分享到:
      標簽:Docker 倉庫 服務器 詳解 鏡像
      用戶無頭像

      網友整理

      注冊時間:

      網站:5 個   小程序:0 個  文章:12 篇

      • 51998

        網站

      • 12

        小程序

      • 1030137

        文章

      • 747

        會員

      趕快注冊賬號,推廣您的網站吧!
      最新入駐小程序

      數獨大挑戰2018-06-03

      數獨一種數學游戲,玩家需要根據9

      答題星2018-06-03

      您可以通過答題星輕松地創建試卷

      全階人生考試2018-06-03

      各種考試題,題庫,初中,高中,大學四六

      運動步數有氧達人2018-06-03

      記錄運動步數,積累氧氣值。還可偷

      每日養生app2018-06-03

      每日養生,天天健康

      體育訓練成績評定2018-06-03

      通用課目體育訓練成績評定