主要增加對容器創建 MySQL、Mongo 時對 數據文件,日誌,配置,網路,時區,埠映射,密碼 的配置,更貼合生產環境的實際使用 ...
前言
書接上篇:Docker V24 及 Docker Compose V2 的安裝及使用
本篇操作都在 centos8 虛擬機 devops01 中進行,並都歸屬網路:devopsnetwork
主要增加對容器中 數據文件,日誌,配置,網路,時區,埠映射,密碼 的配置,更貼合生產實際使用
Docker Compose 安裝 MySQL v5.7
目錄 /app/mysql 中創建 compose.yml 並運行
-
指定 mysql 版本 5.7
-
指定網路:devopsnetwork
-
指定時區:Asia/Shanghai
- 不設置預設是GMT時間,會比北京時間少8h,直接的影響就是 NOW() 函數會有差異
-
指定 root 密碼:devops666
-
掛載捲:
./data
./logs
,無需手動創建 -
掛載配置文件: 配置文件根據情況掛載,需要手動創建 conf/my.conf ,以下為示例配置
-
[mysqld] #必須保證在mysql集群中,該欄位唯一 server_id=1 #指定歸檔日誌的存儲文件 log-bin=master-bin log-bin-index=master-bin.index #指定忽略的資料庫 binlog-ignore-db=mysql #指定時區 default-time-zone='Asia/Shanghai' #可以通過增加”replicate-do-db” 指定需要複製的資料庫, #如果不指定則是所有的數據。如果需要指定多個資料庫,只需要增加多個”replicate-do-db” 即可。 #replicate-do-db #設置這個最大連接數值 max_connections=1024
-
-
暴露埠:3306
-
啟動 mysql 容器:
docker compose up -d
-
version: '3.1' services: mysql: container_name: db_mysql_5_7 image: mysql:5.7 restart: always environment: - TZ=Asia/Shanghai - MYSQL_ROOT_PASSWORD=devops666 volumes: - ./data:/var/lib/mysql - ./logs:/var/log/mysql # 指定配置文件,需要手動創建 # - ./conf/my.cnf:/etc/mysql/my.cnf ports: - "3306:3306" networks: - devopsnetwork networks: devopsnetwork: external: true
-
-
運行示例
-
若需要使用 mysql8.0 ,可使用下麵配置,根據需要設置身份驗證插件
-
version: '3.1' services: mysql: container_name: db_mysql_8 image: mysql:8.0 restart: always # MySQL 8.0 預設使用 caching_sha2_password 身份驗證插件,而不是 mysql_native_password 插件。在生產環境中,我們應該遵循官方建議,使用 caching_sha2_password 插件提供更強大的安全性 # command: --default-authentication-plugin=mysql_native_password environment: MYSQL_ROOT_PASSWORD: devops666 volumes: - ./data:/var/lib/mysql ports: - "3306:3306" networks: - devopsnetwork networks: devopsnetwork: external: true
-
Docker Compose 安裝 MongoDB v4.4
目錄 /app/mongo 中創建 compose.yml 並運行
-
指定 mongo 版本 4.4
-
指定網路:devopsnetwork
-
指定時區:Asia/Shanghai
-
指定賬號密碼:root devops666
-
掛載捲:./data 即:/app/mongo/data,無需手動創建
-
掛載配置文件:./config/mongo.conf 需要手動創建
-
net: bindIpAll: true security: authorization: enabled
-
-
暴露埠:27017
-
運行 compose.yml:
docker compose up -d
-
version: '3.1' services: mongo: container_name: mongo_4_4 image: mongo:4.4.0 restart: always networks: - devopsnetwork environment: - TZ=Asia/Shanghai - MONGO_INITDB_ROOT_USERNAME=root - MONGO_INITDB_ROOT_PASSWORD=devops666 command: mongod --config /etc/mongo/mongod.conf volumes: - ./data:/data/db - ./logs:/data/log - ./config/mongo.conf:/etc/mongo/mongod.conf ports: - "27017:27017" networks: devopsnetwork: external: true
-
-
運行示例
後語
- 安裝&記錄耗時:5 小時
- 後面還會補充 clickhouse 和一個 web 管理工具的使用
- 創作不易,且行且珍惜!!!
作者:易墨
Github:yimogit
純靜態工具站點:metools
說明:歡迎拍磚,不足之處還望園友們指出;
迷茫大概是因為想的太多做的太少。