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

java 复制代码
yum update -y

1.2 Docker与Docker Compose安装

1.2.1 docker 安装

java 复制代码
yum install docker -y

1.2.2 docker-compose安装

java 复制代码
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容器

java 复制代码
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 文件配置

java 复制代码
net:
   port: 27017
   bindIp: "0.0.0.0"
storage:
   dbPath: "/data/db"
security:
   authorization: enabled

2.2.3 创建mongodb容器

java 复制代码
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 文件配置

java 复制代码
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容器

java 复制代码
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容器

java 复制代码
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文件

java 复制代码
version: '2.1'
services:

  app:
    build: ./ 
    container_name: mis-api-test
    ports:
      - 7700:7700
    depends_on:
      - mysql
      - redis
      - mongo
      - minio
      
  mysql:
    image: mysql:8.0.20
    container_name: mis-mysql
    ports:
      - 7001:3306
    environment: 
      MYSQL_ROOT_PASSWORD: abc123456
    volumes:
      - /root/finance/mysql-test/data:/var/lib/mysql 
      - /root/finance/mysql-test/conf:/etc/mysql/conf.d
      - /root/finance/mysql-test/logs:/etc/log/mysql

  redis:
    image: redis:6.0.10
    container_name: mis-redis
    ports:
      - 7002:6379
    volumes:
      - /root/finance/redis-test/conf:/usr/local/etc/redis
    command: redis-server /usr/local/etc/redis/redis.conf

  mongo:
    image: mongo:4.4.7
    container_name: mis-mongo
    ports:
      - 7003:27017
    volumes:
      - /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/mongodb
    environment:
      ME_CONFIG_MONGODB_ADMINUSERNAME: root
      ME_CONFIG_MONGODB_ADMINPASSWORD: abc123456
    command: --config /etc/mongo/mongod.conf

  minio:
    image: bitnami/minio:latest
    container_name: mis-minio
    ports:
      - 7004:9001
      - 7005:9000
    volumes:
      - /root/finance/minio-test/data:/bitnami/minio/data
    environment:
      - MINIO_ROOT_USER=root
      - MINIO_ROOT_PASSWORD=abc123456

3.2 一键启动与停止

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

3.3 命令演示

相关推荐
weixin_4370446415 小时前
Netbox批量添加设备——堆叠设备
linux·网络·python
hhy_smile15 小时前
Ubuntu24.04 环境配置自动脚本
linux·ubuntu·自动化·bash
宴之敖者、16 小时前
Linux——\r,\n和缓冲区
linux·运维·服务器
LuDvei16 小时前
LINUX错误提示函数
linux·运维·服务器
未来可期LJ16 小时前
【Linux 系统】进程间的通信方式
linux·服务器
Abona16 小时前
C语言嵌入式全栈Demo
linux·c语言·面试
Lenyiin16 小时前
Linux 基础IO
java·linux·服务器
The Chosen One98516 小时前
【Linux】深入理解Linux进程(一):PCB结构、Fork创建与状态切换详解
linux·运维·服务器
大佐不会说日语~17 小时前
使用Docker Compose 部署时网络冲突问题排查与解决
运维·网络·spring boot·docker·容器
Kira Skyler17 小时前
eBPF debugfs中的追踪点format实现原理
linux