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

docker常用容器啟動docker-compose.yml配置文件使用

 更新時間:2025年03月21日 09:01:47   作者:java阿杜  
這篇文章主要介紹了docker常用容器啟動docker-compose.yml配置文件使用方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

在平常的開發(fā)工作中,我們經(jīng)常需要部署項目。項目開發(fā)完成后,部署測試環(huán)境、部署生產(chǎn)環(huán)境等。以前部署項目,在服務(wù)器上安裝項目所需的軟件,如 nginx、redis 等??赡茉跍y試環(huán)境測試沒有問題,由于環(huán)境配置等不同,部署到生產(chǎn)環(huán)境又會產(chǎn)生莫名奇怪的問題。隨著 docker 容器的出現(xiàn),我們可以用 Dockerfile 構(gòu)建鏡像,構(gòu)建完成后運行,這樣可以保證每個地方使用的鏡像一致,然后啟動使用 docker-compose.yml 文件,保證容器的配置一致。今天總結(jié)下常用軟件啟動的 docker-compose.yml 文件。

概述

定義和運行多容器 Docker 應(yīng)用的工具,可以在里面定義多個服務(wù)信息,定義每個服務(wù)的服務(wù)名、端口映射、環(huán)境變量、網(wǎng)絡(luò)模式等。這樣可以方便的管理啟動命令,方便拓展??梢砸淮螁佣鄠€容器。常用于部署測試環(huán)境等。這樣可以保證每個環(huán)境映射的端口、依賴的鏡像等信息一致,減少因環(huán)境問題導(dǎo)致的差異。通過 docker-compose.yml 文件,可以確保開發(fā)、測試和生產(chǎn)環(huán)境的一致性,避免“因部署不同機器存在差異”的問題。

docker-compose.yml 示例

1:后端服務(wù)

services:
  ruoyi-admin:
    image: ruoyi-admin:v1.0
    container_name : ruoyi-admin
    ports:
      - "9016:9016"
    environment:
      - SERVER_PORT=9016
      - TZ=Asia/Shanghai
    restart: always
    networks:
      - my_network
 
networks:
 my_network:
   external: true

2:mysql

services:
  mysql:
    image: mysql:8.0.33
    restart: always
    container_name: mysql
    environment:
      MYSQL_ROOT_PASSWORD: your_password
      TZ: Asia/Shanghai
      
    ports:
      - "3306:3306"
      
    volumes:
      - /docker/mysql/log:/var/log/mysql
      - /docker/mysql/data:/var/lib/mysql 
      - /docker/mysql/conf:/etc/mysql/conf.d
      
    command:
      --max_connections=1000
      --default-authentication-plugin=mysql_native_password
      --character-set-server=utf8mb4
      --collation-server=utf8mb4_general_ci
	  
	privileged: true
    network_mode: "host"

3:nginx

services:
  nginx:
    image: nginx:latest
    container_name: nginx-web
    environment:
      TZ: Asia/Shanghai
    ports:
      - "80:80"
      - "443:443"
    volumes:
      # 配置文件映射
      - /docker/nginx/conf/nginx.conf:/etc/nginx/nginx.conf
      - /docker/nginx/conf:/etc/nginx/conf
      # 頁面目錄
      - /docker/nginx/html:/usr/share/nginx/html
 
    privileged: true
    network_mode: "host"

4:redis

services:
  redis:
    image: redis:6.2.6
    container_name: redis6.2.6
    ## 設(shè)置持久化,允許遠程訪問,密碼等
    command: redis-server --appendonly yes --bind 0.0.0.0 --requirepass your_password
    ports:
      - 6379:6379
    volumes:
      # - ./data/:/data
      - /docker/redis/conf/redis.conf:/etc/redis/redis.conf 
      - /docker/redis/data:/data
    environment:
      - TZ=Asia/Shanghai
    restart: always
 
    # 獲取宿主機 root 權(quán)限
    privileged: true
    # # 設(shè)置容器網(wǎng)絡(luò)為本機網(wǎng)絡(luò)
    network_mode: "host"

5:nacos

nacos:
    image: nacos/nacos-server:v2.0.3
    container_name: nacos
    restart: always
    ports:
      # web 界面訪問端口
      - 8848:8848
    environment:
      - MODE=standalone
      # 連接 mysql 數(shù)據(jù)庫,主要是為了配置的持久化
      - SPRING_DATASOURCE_PLATFORM=mysql # 定義使用的數(shù)據(jù)庫是 mysql
      - MYSQL_SERVICE_HOST=mysql
      - MYSQL_SERVICE_PORT=3306
      - MYSQL_SERVICE_DB_NAME=nacos_dev
      - MYSQL_SERVICE_USER=root
      - MYSQL_SERVICE_PASSWORD=root
    volumes:
      - /docker/nacos/logs:/home/nacos/logs

6:rabbitmq

rabbitmq:
    # 帶有管理界面的 rabbitmq 鏡像
    image: rabbitmq:management  
    container_name: rabbitmq
    ports:
      # AMQP 協(xié)議端口
      - "5672:5672" 
      # rabbitmq 管理界面端口 
      - "15672:15672"  
    volumes:
      # 數(shù)據(jù)持久化目錄
      - /usr/local/docker/rabbitmq/data:/var/lib/rabbitmq
       # 日志目錄
      - /usr/local/docker/rabbitmq/logs:/var/log/rabbitmq 
    environment:
      # 設(shè)置用戶名
      RABBITMQ_DEFAULT_USER: guest
      # 設(shè)置密碼
      RABBITMQ_DEFAULT_PASS: 123456
    restart: always

docker compose 常用命令

  • (1):docker compose up -d:啟動新的容器,會先拉取鏡像等然后創(chuàng)建新的容器。帶上 -d 是非阻塞的,不阻塞當前的命令窗口,不帶 -d 是阻塞的,會阻塞當前的命令窗口。
  • (2):docker compose down:停止所有運行中的容器
  • (3):docker compose start:啟動一個停止的容器
  • (4):docker compose restart:重啟容器
  • (5):docker compose build:構(gòu)建鏡像
  • (6):docker compose config:查看配置
  • (7):docker compose logs:查看容器日志
  • (8):docker compose exec service-name command:進入運行中的容器

總結(jié)

docker-compose.yml 可以更好的管理啟動命令,這樣可以保持測試環(huán)境、生產(chǎn)環(huán)境等端口,配置等一致性,防止項目部署因配置不同導(dǎo)致的問題。

包括鏡像來源、容器名稱、端口映射、環(huán)境變量、數(shù)據(jù)卷掛載等。使用 docker run 啟動,要輸入很長的命令,而且容易出錯。

使用 docker-compose.yml 管理命令,啟動方便快捷,也降低了配置出錯的概率。

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Docker如何解決tomcat容器啟動成功,無法訪問的問題

    Docker如何解決tomcat容器啟動成功,無法訪問的問題

    這篇文章主要介紹了Docker如何解決tomcat容器啟動成功,無法訪問的問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-07-07
  • Docker?部署?vue?項目的詳細流程

    Docker?部署?vue?項目的詳細流程

    使用Docker配合Nginx部署Vue3項目涉及多個步驟:首先安裝Nginx,然后創(chuàng)建掛載目錄及配置文件;接著打包Vue項目并上傳至服務(wù)器;最后創(chuàng)建Dockerfile,構(gòu)建鏡像并啟動容器,部署完成后,通過IP訪問應(yīng)用以驗證是否成功
    2024-09-09
  • docker nginx + https 子域名配置詳細教程

    docker nginx + https 子域名配置詳細教程

    這篇文章主要介紹了docker nginx + https 子域名配置詳細教程,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-04-04
  • docker部署Nestjs的簡單配置實現(xiàn)

    docker部署Nestjs的簡單配置實現(xiàn)

    使用Docker部署NestJS應(yīng)用程序可以確保在不同的環(huán)境中運行一致,并且避免了由于依賴關(guān)系或配置問題導(dǎo)致的部署錯誤,本文主要介紹了docker來部署Nestjs的簡單配置,感興趣的可以了解一下
    2024-02-02
  • docker pull很慢如何解決

    docker pull很慢如何解決

    這篇文章主要介紹了docker pull很慢的解決方法,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • Docker File創(chuàng)建鏡像失敗ERROR [3/4] RUN yum -y install vim的解決

    Docker File創(chuàng)建鏡像失敗ERROR [3/4] RUN yum&nbs

    文章描述了在使用DockerFile創(chuàng)建基于CentOS Linux 8的鏡像時遇到的問題,即無法下載vim軟件包的元數(shù)據(jù),問題的原因是CentOS Linux 8的AppStream倉庫沒有可用的URL,為了解決這個問題,作者建議將CentOS版本修改為7,因為CentOS Linux 7的AppStream倉庫通常有可用的URL
    2024-11-11
  • 使用Docker?Compose搭建部署ElasticSearch的配置過程

    使用Docker?Compose搭建部署ElasticSearch的配置過程

    Elasticsearch使用的是一種名為倒排索引的數(shù)據(jù)結(jié)構(gòu),這一結(jié)構(gòu)的設(shè)計可以允許十分快速地進行全文本搜索,本文重點給大家介紹使用Docker?Compose搭建部署ElasticSearch的配置過程,感興趣的朋友一起看看吧
    2022-02-02
  • docker部署mysql 實現(xiàn)遠程連接的示例代碼

    docker部署mysql 實現(xiàn)遠程連接的示例代碼

    這篇文章主要介紹了docker部署mysql 實現(xiàn)遠程連接的示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-09-09
  • Docker私有倉庫Registry部署的實現(xiàn)

    Docker私有倉庫Registry部署的實現(xiàn)

    這篇文章主要介紹了Docker私有倉庫Registry部署的實現(xiàn),私有倉庫最常用的就是Registry、Harbor兩種,本文詳細介紹如何搭建registry私有倉庫,感興趣的可以了解一下
    2020-06-06
  • Docker為網(wǎng)絡(luò)bridge模式指定容器ip的方法

    Docker為網(wǎng)絡(luò)bridge模式指定容器ip的方法

    Docker在創(chuàng)建容器時有四種網(wǎng)絡(luò)模式,bridge為默認不需要用--net去指定,其他三種模式需要在創(chuàng)建容器時使用--net去指定。那Docker為網(wǎng)絡(luò)bridge模式指定容器ip該如何實現(xiàn)呢?下面通過通過這篇文章一起看看吧,文中給出了詳細的示例代碼,有需要的可以參考借鑒。
    2016-11-11

最新評論