当前位置: 首页 > news >正文

CentOS 7.6 + Docker:搭建后端常用的开发环境

Docker系列文章


文章目录

  • Docker系列文章
  • 前言
  • 一、环境准备与Docker基础
    • 1.1 CentOS 7.6基础配置
      • 1.1.1 MobaXterm远程连接
      • 1.1.2 更新yum
    • 1.2 Docker与Docker Compose安装
      • 1.2.1 docker 安装
      • 1.2.2 docker-compose安装
  • 二、单容器创建
    • 2.1 Mysql容器
      • 2.1.1 数据目录映射
      • 2.1.2 创建mysql容器
    • 2.2 MongoDB容器
      • 2.2.1 数据目录映射
      • 2.2.2 mongod.conf 文件配置
      • 2.2.3 创建mongodb容器
    • 2.3 Redis容器
      • 2.3.1 数据目录映射
      • 2.3.2 redis.conf 文件配置
      • 2.3.3 创建redis容器
    • 2.4 Minio容器
      • 2.4.1 数据目录映射
      • 2.4.2 创建minio容器
  • 三、Docker Compose容器编排
    • 3.1 编写docker-compose.yml文件
    • 3.2 一键启动与停止
    • 3.3 命令演示


前言

本文将介绍在docker环境下如何搭建常用的后端开发环境。


一、环境准备与Docker基础

1.1 CentOS 7.6基础配置

1.1.1 MobaXterm远程连接

在这里插入图片描述

1.1.2 更新yum

yum update -y

1.2 Docker与Docker Compose安装

1.2.1 docker 安装

yum install docker -y

1.2.2 docker-compose安装

yum install docker-compose -y

二、单容器创建

2.1 Mysql容器

2.1.1 数据目录映射

  • /root/finance/mysql-test/data
  • /root/finance/mysql-test/conf
  • /root/finance/mysql-test/logs

2.1.2 创建mysql容器

docker run -it --name mysql-test -p 7001:3306 
-v /root/finance/mysql-test/data:/var/lib/mysql
-v /root/finance/mysql-test/conf:/etc/mysql/conf.d
-v /root/finance/mysql-test/logs:/etc/log/mysql
-e MYSQL_ROOT_PASSWORD=abc123456789 
-d  mysql:8.0.20

2.2 MongoDB容器

2.2.1 数据目录映射

  • /root/finance/mongo-test/mongod.conf
  • /root/finance/mongo-test/data/db
  • /root/finance/mongo-test/data/db

2.2.2 mongod.conf 文件配置

net:port: 27017bindIp: "0.0.0.0"
storage:dbPath: "/data/db"
security:authorization: enabled

2.2.3 创建mongodb容器

docker run -it --name mongo-test -p 7003:27017 
-v /root/finance/mongo-test:/etc/mongo 
-v /root/finance/mongo-test/data/db:/data/db 
-v /root/finance/mongo-test/mongod.conf:/etc/mongo/mongod.conf  
-e MONGO_INITDB_ROOT_USERNAME=admin 
-e MONGO_INITDB_ROOT_PASSWORD=gw0420- 
-d mongo:latest 
--config /etc/mongo/mongod.conf

2.3 Redis容器

2.3.1 数据目录映射

  • /root/finance/redis-test/conf

2.3.2 redis.conf 文件配置

bind 0.0.0.0
protected-mode yes
port 6379
tcp-backlog 511
timeout 0
tcp-keepalive 0
loglevel notice
logfile ""
databases 4
save 900 1
save 300 10
save 60 10000
stop-writes-on-bgsave-error yes
rdbcompression yes
rdbchecksum yes
dbfilename dump.rdb
dir ./
requirepass abc123456

2.3.3 创建redis容器

docker run -it --name some-redis -p 7002:6379 
-v /root/finance/redis-test/conf:/usr/local/etc/redis 
-d --restart=always redis:latest 
redis-server /usr/local/etc/redis/redis.conf

2.4 Minio容器

2.4.1 数据目录映射

  • /root/finance/minio-test/data

2.4.2 创建minio容器

docker run -it --name minio-test -p 7004:9000 -p 7005:9001 
-v /root/finance/minio-test/data:/bitnami/minio/data 
-e MINIO_ROOT_USER=root 
-e MINIO_ROOT_PASSWORD=csy0420- 
-d bitnami/minio:latest

三、Docker Compose容器编排

3.1 编写docker-compose.yml文件


version: '2.1'
services:app:build: ./ container_name: mis-api-testports:- 7700:7700depends_on:- mysql- redis- mongo- miniomysql:image: mysql:8.0.20container_name: mis-mysqlports:- 7001:3306environment: MYSQL_ROOT_PASSWORD: abc123456volumes:- /root/finance/mysql-test/data:/var/lib/mysql - /root/finance/mysql-test/conf:/etc/mysql/conf.d- /root/finance/mysql-test/logs:/etc/log/mysqlredis:image: redis:6.0.10container_name: mis-redisports:- 7002:6379volumes:- /root/finance/redis-test/conf:/usr/local/etc/rediscommand: redis-server /usr/local/etc/redis/redis.confmongo:image: mongo:4.4.7container_name: mis-mongoports:- 7003:27017volumes:- /root/finance/mongo-test/mongod.conf:/etc/mongo/mongod.conf - /root/finance/mongo-test/data/db:/data/db- /root/finance/mongo-test/data/db:/var/log/mongodbenvironment:ME_CONFIG_MONGODB_ADMINUSERNAME: rootME_CONFIG_MONGODB_ADMINPASSWORD: abc123456command: --config /etc/mongo/mongod.confminio:image: bitnami/minio:latestcontainer_name: mis-minioports:- 7004:9001- 7005:9000volumes:- /root/finance/minio-test/data:/bitnami/minio/dataenvironment:- MINIO_ROOT_USER=root- MINIO_ROOT_PASSWORD=abc123456

3.2 一键启动与停止

  • 启动服务:docker compose up -d
  • 查看日志:docker compose logs -f
  • 停止服务:docker compose down

3.3 命令演示

在这里插入图片描述

http://www.xdnf.cn/news/633151.html

相关文章:

  • 使用CentOS部署本地DeekSeek
  • PDF 编辑批量拆分合并OCR 识别
  • 非常适合初学者的Golang教程
  • TDengine 对接微软 SSRS 报表系统
  • Go 语言学习 Protobuf 连接 gRPC 实现 AI 接口
  • Linux 的编辑器--vim
  • 初识消息队列
  • C++单例模式与线程安全
  • webpack面试问题
  • 理解HTTP基本认证与表单登录认证
  • 自动化安全脚本学习
  • 9:OpenCV—模板匹配
  • React声明式编程(手动控制,大型项目,深度定制)与Vue响应式系统(自动优化,中小型项目,快速开发)区别
  • openjdk底层(hotspot)汇编指令的内存分布
  • 掌阅iReader新形态墨水屏Tango发布:科技与美学共舞,开启灵动阅读新体验
  • C++星际密码破译全国信息素养大赛复赛决赛 C++小学/初中组 算法创意实践挑战赛 内部集训模拟题详细解析
  • SAR ADC的功耗设计
  • 图解BERT
  • 免费开源 PDF 阅读器 自带虚拟打印机功能 多格式兼容
  • 【计算机网络】基于UDP进行socket编程——实现服务端与客户端业务
  • threejs模型对象、材质
  • 健身网l;l;j
  • Java21 并发处理说明
  • Python数据可视化实战:让数据从「数字堆」变成「故事书」
  • git push出现 “HTTP 400 curl 22 The requested URL returned error: 400...“错误
  • 计网5:HTTP/TCP的长连接和短连接的区别以及各自的应用场景
  • JavaSE核心知识点03高级特性
  • Linux系统之----磁盘硬件
  • 【25软考网工】第八章 (1)交换机基础
  • C# 预处理器指令