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 命令演示

相关推荐
jie188945758665 分钟前
ubuntu中,c和c+程序,预编译、编译、链接和运行命令
linux·c语言·ubuntu
Evenurs17 分钟前
【linux】mount命令中,data=writeback参数详细介绍
linux·运维·服务器
MyikJ28 分钟前
互联网大厂Java面试:从Spring到微服务的挑战
数据库·spring boot·微服务·saas·java面试·缓存技术
向上的车轮29 分钟前
Spring Boot微服务架构(六):伪装的微服务有哪些问题?
spring boot·微服务·架构
qq_2430507933 分钟前
Siege:开源的 HTTP/FTP 压力测试与基准评估工具!全参数详细教程!Kali Linux教程!
linux·网络·web安全·网络安全·黑客·压力测试·kali linux
冷冷清清中的风风火火38 分钟前
linux 通过命令将 MinIO 桶的权限设置为 Custom(自定义策略)
linux·服务器·ubuntu
Elohim8151 小时前
进程IO之 进程
linux·c语言
默默无闻的白夜1 小时前
【Docker】存储卷
运维·docker·容器
武昌库里写JAVA1 小时前
Quartus 开发可实现人工智能加速的 FPGA 系统
java·vue.js·spring boot·课程设计·宠物管理
CaseyWei1 小时前
(转)Docker与K8S的区别
docker·容器·kubernetes