欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

使用docker compose一鍵部署多個(gè)服務(wù)的方法

 更新時(shí)間:2024年01月29日 10:47:52   作者:阿演  
docker compose 是 docker 官方的開源項(xiàng)目,用來實(shí)現(xiàn)對 docker 容器集群的快速編排,通過docker-compose可以一鍵創(chuàng)建和刪除多個(gè)容器 ,本文給大家介紹的非常詳細(xì),感興趣的朋友一起看看吧

docker compose 是 docker 官方的開源項(xiàng)目,用來實(shí)現(xiàn)對 docker 容器集群的快速編排

下載安裝

官網(wǎng)下載地址:點(diǎn)這里

我用的是云服務(wù)器,所以就直接用yum安裝了,直接執(zhí)行這兩條命令,等安裝結(jié)束后查看版本,看到版本號表示安裝成功

下面還有一種手動安裝的方式,因?yàn)槭窃L問的github,我的服務(wù)器一直訪問失敗,就只能用上面那種方式了

不使用 compose 部署項(xiàng)目

我這里用一個(gè)springboot項(xiàng)目來測試,只寫了一個(gè)接口,訪問redis和mysql

編寫dockerfile來構(gòu)建鏡像

FROM java:8
MAINTAINER vhukze
# 指定臨時(shí)文件夾為/tmp
VOLUME /tmp
# 將jar包添加到容器中重命名為my-docker.jar
ADD docker-test.jar my-docker.jar
# 運(yùn)行jar包
RUN bash -c 'touch /my-docker.jar'
ENTRYPOINT ["java","-jar","/my-docker.jar"]
# 暴露8888端口
EXPOSE 8888

把項(xiàng)目的jar包和Dockerfile文件上傳到服務(wù)器,我這里放到了/mydocker路徑下

使用命令構(gòu)建鏡像(注意最后的點(diǎn),表示Dockerfile文件在當(dāng)前目錄下)

docker build -t my-docker:1.0 .

稍等一會兒之后,構(gòu)建成功,查看鏡像

這里代碼訪問的redis和mysql同樣是docker中啟動的

使用my-docker鏡像啟動一個(gè)容器

docker run -d -p 8888:8888 my-docker:1.0

不使用compose,需要單獨(dú)啟動三個(gè)容器,執(zhí)行三遍docker run

使用 compose 部署項(xiàng)目

編寫docker-compose.yml文件,并上傳到服務(wù)器的/mydocker 路徑下

version: "3"
# 多個(gè)服務(wù)
services:
  # my-docker服務(wù)
  myDockerService:
    # 鏡像名稱和版本
    image: my-docker:1.0
    # 啟動的容器名稱
    container_name: my-docker
    # 端口
    ports:
      - 8888:8888
    # 容器數(shù)據(jù)卷
    volumes:
      - /app/myDocker:/data
    # 網(wǎng)絡(luò)模式 (最下方自定義的一個(gè)網(wǎng)絡(luò)模式)
    networks:
      - my_net
    # 依賴的服務(wù)(表示需要依賴的服務(wù)先啟動)
    depends_on:
      - redis
      - mysql
  # redis 服務(wù)
  redis:
    image: redis
    ports:
      - 6666:6379
    volumes:
      - /app/redis/redis.conf:/etc/redis/redis.conf
      - /app/redis/data:/data
    networks:
      - my_net
    # 啟動命令
    command: redis-server /etc/redis/redis.conf
  # mysql服務(wù)
  mysql:
    image: mysql:5.7
    # mysql 相關(guān)配置
    environment:
      MYSQL_ROOT_PASSWORD: '123456'
      MYSQL_ALLOW_EMPTY_PASSWORD: 'no'
      MYSQL_DATABASE: 'testdb'
      MYSQL_USER: 'vhukze'
      MYSQL_PASSWORD: 'vhukze'
    ports:
      - 3306:3306
    volumes:
      - /app/mysql/db:/var/lib/mysql
      - /app/mysql/conf/my.cnf:/etc/my.cnf
      - /app/mysql/init:/docker-entrypoint-initdb.d
    networks:
      - my_net
    # 解決外部無法訪問問題
    command: --default-authentication-plugin=mysql_native_password
# 創(chuàng)建自定義網(wǎng)絡(luò)模式
networks:
  my_net: 

使用同一個(gè)自定義網(wǎng)絡(luò)模式,互相之間可以通過服務(wù)名稱訪問,修改項(xiàng)目配置文件,把redis和mysql的ip改為服務(wù)名稱(注意這里redis的端口要改成容器內(nèi)使用的端口,因?yàn)槭侨萜髦g互相訪問,不會走宿主機(jī)的端口)

再次打包項(xiàng)目上傳到服務(wù)器,使用Dockerfile構(gòu)建鏡像

在docker-compose.yml所在目錄執(zhí)行下面命令,檢查語法是否有誤

執(zhí)行之后沒有任何輸出,表示語法沒有問題

docker compose config -q

使用docker-compose啟動三個(gè)容器

在docker-compose.yml所在目錄執(zhí)行下面命令

docker compose up -d

可以看到網(wǎng)絡(luò)模式和三個(gè)容器都創(chuàng)建完成了

使用瀏覽器訪問my-docker項(xiàng)目的接口,訪問成功

一鍵停止并刪除

docker compose down

一鍵停止

docker compose stop

一鍵啟動

docker compose start

一鍵重啟

docker compose restart

結(jié)論是 通過docker-compose可以一鍵創(chuàng)建和刪除多個(gè)容器

到此這篇關(guān)于使用docker compose一鍵部署多個(gè)服務(wù)的文章就介紹到這了,更多相關(guān)docker compose多個(gè)服務(wù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 解決docker安裝jenkins容器內(nèi)無法訪問外網(wǎng)

    解決docker安裝jenkins容器內(nèi)無法訪問外網(wǎng)

    這篇文章為大家主要介紹了docker安裝jenkins容器內(nèi)無法訪問外網(wǎng)的問題解決,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-11-11
  • docker 部署 Elasticsearch kibana及ik分詞器詳解

    docker 部署 Elasticsearch kibana及ik分詞器詳解

    這篇文章主要介紹了docker 部署 Elasticsearch kibana及ik分詞器詳解,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-05-05
  • Docker?link實(shí)現(xiàn)容器互聯(lián)的方式

    Docker?link實(shí)現(xiàn)容器互聯(lián)的方式

    通過link方式創(chuàng)建容器,然后我們可以使用被link容器的別名進(jìn)行訪問。本文重點(diǎn)給大家介紹Docker?link實(shí)現(xiàn)容器互聯(lián)的方式,感興趣的朋友一起看看吧
    2021-12-12
  • Docker 部署單機(jī)版 Pulsar 和集群架構(gòu) Redis(開發(fā)神器)的方法

    Docker 部署單機(jī)版 Pulsar 和集群架構(gòu) Redis(開發(fā)神器)的方法

    這篇文章主要介紹了Docker 部署單機(jī)版 Pulsar 和集群架構(gòu) Redis(開發(fā)神器)的相關(guān)知識,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-10-10
  • docker-compose啟動minio方式

    docker-compose啟動minio方式

    文章介紹了創(chuàng)建文件夾、配置docker-compose.yml、開啟防火墻以及驗(yàn)證服務(wù)的步驟,適用于新版和老版的RELEASE數(shù)據(jù)格式
    2025-01-01
  • 總結(jié)Docker不適合部署數(shù)據(jù)庫的7大原因

    總結(jié)Docker不適合部署數(shù)據(jù)庫的7大原因

    在本篇文章里小編給大家整理一篇關(guān)于Docker不適合部署數(shù)據(jù)庫的7大原因,有興趣的朋友們可以參考學(xué)習(xí)下。
    2021-01-01
  • 用docker部署RabbitMQ環(huán)境的詳細(xì)介紹

    用docker部署RabbitMQ環(huán)境的詳細(xì)介紹

    這篇文章主要介紹了用docker部署RabbitMQ環(huán)境,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-07-07
  • Docker容器中的Postgresql備份腳本異常解決

    Docker容器中的Postgresql備份腳本異常解決

    本文基于K8S中Docker容器對postgres數(shù)據(jù)庫進(jìn)行備份的操作,但是提示報(bào)錯(cuò),報(bào)錯(cuò)信息為kubectl command not found,本文就來介紹一下報(bào)錯(cuò)信息的分析及其解決辦法,感興趣的可以了解一下
    2023-08-08
  • 使用docker搭建sonarqube的方法

    使用docker搭建sonarqube的方法

    這篇文章主要介紹了使用docker搭建sonarqube的方法,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-03-03
  • docker nginx 部署多個(gè)項(xiàng)目的示例方法

    docker nginx 部署多個(gè)項(xiàng)目的示例方法

    這篇文章主要介紹了docker nginx 部署多個(gè)項(xiàng)目的示例方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-11-11

最新評論