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

使用docker compose一鍵部署多個服務的方法

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

docker compose 是 docker 官方的開源項目,用來實現對 docker 容器集群的快速編排

下載安裝

官網下載地址:點這里

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

下面還有一種手動安裝的方式,因為是訪問的github,我的服務器一直訪問失敗,就只能用上面那種方式了

不使用 compose 部署項目

我這里用一個springboot項目來測試,只寫了一個接口,訪問redis和mysql

編寫dockerfile來構建鏡像

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

把項目的jar包和Dockerfile文件上傳到服務器,我這里放到了/mydocker路徑下

使用命令構建鏡像(注意最后的點,表示Dockerfile文件在當前目錄下)

docker build -t my-docker:1.0 .

稍等一會兒之后,構建成功,查看鏡像

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

使用my-docker鏡像啟動一個容器

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

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

使用 compose 部署項目

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

version: "3"
# 多個服務
services:
  # my-docker服務
  myDockerService:
    # 鏡像名稱和版本
    image: my-docker:1.0
    # 啟動的容器名稱
    container_name: my-docker
    # 端口
    ports:
      - 8888:8888
    # 容器數據卷
    volumes:
      - /app/myDocker:/data
    # 網絡模式 (最下方自定義的一個網絡模式)
    networks:
      - my_net
    # 依賴的服務(表示需要依賴的服務先啟動)
    depends_on:
      - redis
      - mysql
  # redis 服務
  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服務
  mysql:
    image: mysql:5.7
    # mysql 相關配置
    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)建自定義網絡模式
networks:
  my_net: 

使用同一個自定義網絡模式,互相之間可以通過服務名稱訪問,修改項目配置文件,把redis和mysql的ip改為服務名稱(注意這里redis的端口要改成容器內使用的端口,因為是容器之間互相訪問,不會走宿主機的端口)

再次打包項目上傳到服務器,使用Dockerfile構建鏡像

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

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

docker compose config -q

使用docker-compose啟動三個容器

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

docker compose up -d

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

使用瀏覽器訪問my-docker項目的接口,訪問成功

一鍵停止并刪除

docker compose down

一鍵停止

docker compose stop

一鍵啟動

docker compose start

一鍵重啟

docker compose restart

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

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

相關文章

  • 解決docker安裝jenkins容器內無法訪問外網

    解決docker安裝jenkins容器內無法訪問外網

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

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

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

    Docker?link實現容器互聯的方式

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

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

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

    docker-compose啟動minio方式

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

    總結Docker不適合部署數據庫的7大原因

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

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

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

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

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

    使用docker搭建sonarqube的方法

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

    docker nginx 部署多個項目的示例方法

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

最新評論