最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Docker?Compose與Docker鏡像倉庫詳解

 更新時間:2023年03月21日 09:38:11   作者:Mr.D.Chuang  
Docker?Compose可以基于Compose文件幫我們快速的部署分布式應(yīng)用,而無需手動一個個創(chuàng)建和運(yùn)行容器,這篇文章主要介紹了Docker?Compose與Docker鏡像倉庫,需要的朋友可以參考下

1.Docker Compose

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

1.1.初識DockerCompose

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

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文件就描述一個項(xiàng)目,其中包含兩個容器:

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

Docker Compose的詳細(xì)語法參考官網(wǎng):Compose file specification

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

1.2.安裝Docker Compose

參考安裝Docker

1.3.部署微服務(wù)集群

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

實(shí)現(xiàn)思路

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

② 修改自己的cloud-demo項(xiàng)目,將nacos地址都命名為docker-compose中的服務(wù)名

③ 使用maven打包工具,將項(xiàng)目中的每個微服務(wù)都打包為app.jar

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

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

1.3.1.compose文件

根據(jù)集群建立的cloud-demo文件夾,編寫好了docker-compose文件,而且每個微服務(wù)都準(zhǔn)備了一個獨(dú)立的目錄:

內(nèi)容如下:

version: "3.2"

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

可以看到,其中包含4個service服務(wù):

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

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

內(nèi)容如下:

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.修改微服務(wù)配置

因?yàn)槲⒎?wù)將來要部署為docker容器,而容器之間互聯(lián)不是通過IP地址,而是通過容器名。這里我們將order-service、user-service、gateway服務(wù)的nacos地址都修改為基于容器名的訪問。

如下所示:

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

1.3.3.打包

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

可以通過修改pom.xml中的打包名稱來實(shí)現(xiàn),每個微服務(wù)都需要修改:

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

打包后:

1.3.4.拷貝jar包到部署目錄

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

user-service

order-service

gateway

1.3.5.部署

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

上傳到任意目錄:

部署:

進(jìn)入cloud-demo目錄,然后運(yùn)行下面的命令:

docker-compose up -d

2.Docker鏡像倉庫

2.1.搭建私有鏡像倉庫

參考安裝Docker

2.2.推送、拉取鏡像

推送鏡像到私有鏡像服務(wù)必須先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 

到此這篇關(guān)于Docker Compose與Docker鏡像倉庫的文章就介紹到這了,更多相關(guān)Docker鏡像倉庫內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • docker如何快速搭建幾個常用的第三方服務(wù)詳解

    docker如何快速搭建幾個常用的第三方服務(wù)詳解

    這篇文章主要給大家介紹了關(guān)于利用docker如何快速搭建幾個常用的第三方服務(wù)的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-07-07
  • Docker如何自定義網(wǎng)絡(luò)實(shí)現(xiàn)容器互通

    Docker如何自定義網(wǎng)絡(luò)實(shí)現(xiàn)容器互通

    這篇文章主要為大家詳細(xì)介紹了Docker如何通過自定義網(wǎng)絡(luò)實(shí)現(xiàn)容器互通,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2025-04-04
  • docker創(chuàng)建mongodb數(shù)據(jù)庫容器的方法

    docker創(chuàng)建mongodb數(shù)據(jù)庫容器的方法

    本文將通過docker創(chuàng)建一個mongodb數(shù)據(jù)庫容器,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2024-03-03
  • prometheus監(jiān)控節(jié)點(diǎn)程序的安裝及卸載命令

    prometheus監(jiān)控節(jié)點(diǎn)程序的安裝及卸載命令

    這篇文章主要為大家介紹了prometheus監(jiān)控節(jié)點(diǎn)程序的安裝及卸載命令,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-06-06
  • Docker鏡像與容器的導(dǎo)入導(dǎo)出以及常用命令總結(jié)

    Docker鏡像與容器的導(dǎo)入導(dǎo)出以及常用命令總結(jié)

    Docker是一個開源的容器引擎,基于go語言開發(fā)并遵循了apache2.0協(xié)議開源,下面這篇文章主要給大家介紹了關(guān)于Docker鏡像與容器的導(dǎo)入導(dǎo)出以及常用命令總結(jié)的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-08-08
  • docker部署springboot和vue項(xiàng)目的實(shí)現(xiàn)步驟

    docker部署springboot和vue項(xiàng)目的實(shí)現(xiàn)步驟

    本文主要介紹了docker部署springboot和vue項(xiàng)目的實(shí)現(xiàn)步驟,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-06-06
  • Docker?下MySQL數(shù)據(jù)庫的備份和恢復(fù)的操作方法

    Docker?下MySQL數(shù)據(jù)庫的備份和恢復(fù)的操作方法

    這篇文章主要介紹了Docker?下MySQL數(shù)據(jù)庫的備份和恢復(fù)操作方法,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-02-02
  • docker部署釘釘機(jī)器人報警通知的實(shí)現(xiàn)

    docker部署釘釘機(jī)器人報警通知的實(shí)現(xiàn)

    本文主要介紹了docker部署釘釘機(jī)器人報警通知的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-05-05
  • Docker從零構(gòu)建php-nginx-alpine鏡像的方法

    Docker從零構(gòu)建php-nginx-alpine鏡像的方法

    這篇文章主要介紹了Docker從零構(gòu)建php-nginx-alpine鏡像的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-11-11
  • docker容器運(yùn)行后退出(怎么才能一直運(yùn)行)

    docker容器運(yùn)行后退出(怎么才能一直運(yùn)行)

    這篇文章主要介紹了docker容器運(yùn)行后退出(怎么才能一直運(yùn)行),本文詳細(xì)的介紹了解決方法,非常具有實(shí)用價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-01-01

最新評論

嵊泗县| 章丘市| 洪江市| 青河县| 即墨市| 华容县| 五原县| 咸宁市| 军事| 绥宁县| 亳州市| 芜湖市| 洮南市| 北宁市| 泽普县| 凉城县| 措美县| 高平市| 铁岭县| 包头市| 宝丰县| 潍坊市| 衡水市| 调兵山市| 静安区| 张家港市| 石棉县| 洪雅县| 吴堡县| 岑巩县| 禄丰县| 大邑县| 临邑县| 张家川| 中宁县| 普安县| 凌云县| 四平市| 泸州市| 谢通门县| 凌云县|