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