docker-compose 搭建常用數(shù)據(jù)庫

前言

作為開發(fā)經(jīng)常需要本地數(shù)據(jù)庫,docker可以快速部署,并且可以快速刪除??偨Y(jié)了一下常用數(shù)據(jù)庫,mysql,redis,mongo,postgres四種數(shù)據(jù)庫部署

version: "3.5"
services:
  mongo-data:
    image: mongo
    container_name: mongo
    environment:
      NETWORK:
    volumes:
      - ./mongo/mongo_configdb:/data/configdb
      - ./mongo/mongo_db:/data/db
    ports:
      - 27017:27017
    restart: on-failure
    logging:
      driver: "json-file"
      options:
        compress: "true"
        max-file: "10"
        max-size: "50m"


  redis-data:
    image: redis
    container_name: redis
    volumes:
      - ./redis.conf:/etc/redis/redis.conf
      - ./redis/data:/data
    ports:
      - 6379:6379
    entrypoint: []
    environment:
      NETWORK:
    restart: on-failure
    logging:
      driver: "json-file"
      options:
        compress: "true"
        max-file: "10"
        max-size: "50m"

  mysql:
    # 鏡像名
    image: mysql:8.0.21
    # 容器名(以后的控制都通過這個)
    container_name: mysql
    # docker 驗證
    security_opt:
        - seccomp:unconfined
    # 重啟策略
    restart: on-failure
    environment:
      # 時區(qū)上海
      TZ: Asia/Shanghai
      LANG: C.UTF-8
      # root 密碼
      MYSQL_ROOT_PASSWORD: root1234
      # 初始化數(shù)據(jù)庫(后續(xù)的初始化sql會在這個庫執(zhí)行)
      MYSQL_DATABASE: mall
      # 初始化用戶(登錄 mysql -uroot -p )
      MYSQL_USER: root
      # 用戶密碼
      MYSQL_PASSWORD: root1234
      # 映射端口
    ports:
      - 3306:3306
    volumes:
      # 數(shù)據(jù)掛載
      - ./mysql/data/:/var/lib/mysql/
      # 配置掛載
      - ./mysql/conf/:/etc/mysql/conf.d/
      # 初始化目錄掛載
      - ./mysql/init/:/docker-entrypoint-initdb.d/
    #  command:后面添加啟動參數(shù)
    command:
      # 將mysql8.0默認密碼策略 修改為 原先 策略 (mysql8.0對其默認策略做了更改 會導致密碼無法匹配)
      --default-authentication-plugin=mysql_native_password
      --character-set-server=utf8mb4
      --collation-server=utf8mb4_general_ci
      --explicit_defaults_for_timestamp=true
      --lower_case_table_names=1



# https://github.com/felipewom/docker-compose-postgres
  postgres:
    image: 'postgres:latest'
    container_name: postgres
    ports:
      - 5432:5432
    environment:
      POSTGRES_USER: user # 用戶名
      POSTGRES_PASSWORD: pass # 密碼
      POSTGRES_DB: auth # 自定義庫名稱 The PostgreSQL default database (automatically created at first launch)
    volumes:
      - ./db-data/:/var/lib/postgresql/data/

常用命令

 #啟動
 docker-compose up -d 
#   關(guān)閉
 docker-compose stop
 [關(guān)閉后]移除
 docker-compose rm  
強制關(guān)閉并移除鏡像. 還有參數(shù)v 表示移除卷積數(shù)據(jù),一般不用
 docker-compose rm -fs  
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容