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

相关推荐
葵花日记6 分钟前
Linux——自动化建构make/makefile
linux·运维·自动化
tt55555555555542 分钟前
Linux零基础入门:权限与常用命令详解
linux·运维·服务器
woshihonghonga44 分钟前
【Ubuntu 20.04升级python3.9后终端打不开的bug】
linux·开发语言·python
王家视频教程图书馆1 小时前
docker部署mssql
docker·容器·sqlserver
着迷不白1 小时前
手把手部署 HFish 蜜罐:从防火墙配置到登录使用,新手也能轻松上手
linux
凤凰战士芭比Q2 小时前
部署Tomcat11.0.11(Kylinv10sp3、Ubuntu2204、Rocky9.3)
linux·运维·tomcat
讓丄帝愛伱3 小时前
Arthas & JVM 性能排查
linux·jvm
乌萨奇也要立志学C++4 小时前
【Linux】进程控制(一) 进程创建、终止与等待概念与实战讲解
linux·服务器
Lin_Aries_04214 小时前
基于 CI/CD(Jenkins)将 Spring Boot 应用自动部署到 Kubernetes 集群
spring boot·ci/cd·docker·容器·自动化·jenkins
咖啡Beans4 小时前
SseEmitter + WebClient + Flux实现SSE事件流推送
java·spring boot·flux