1. Mysql8
外部映射目录来存储MySQL的数据、配置和日志文件
mkdir -p /home/docker/mysql/data /home/docker/mysql/conf /home/docker/mysql/logs
创建MySQL配置文件
touch /home/docker/mysql/conf/my.cnf
在配置文件中添加以下内容:
[mysqld]
character-set-server=utf8mb4
collation-server=utf8mb4_unicode_ci
default-time-zone='+8:00'[client]
default-character-set=utf8mb4
pull
docker pull mysql:8.0.36
运行MySQL 8容器
docker run -d \--name mysql8 \-p 3306:3306 \-e MYSQL_ROOT_PASSWORD=Whxx@219 \-e TZ=Asia/Shanghai \-v /home/docker/mysql/data:/var/lib/mysql \-v /home/docker/mysql/conf/my.cnf:/etc/mysql/my.cnf \-v /home/docker/mysql/logs:/var/log/mysql \--restart=always \mysql:8.0.36
验证MySQL容器是否正常运行:
docker ps | grep mysql8
2. Redis
外部映射目录:
mkdir -p /home/docker/redis/data /home/docker/redis/conf /home/docker/redis/logs
创建Redis配置文件:
touch /home/docker/redis/conf/redis.conf
在配置文件中添加以下基本配置:
# 基本配置
port 6379
bind 0.0.0.0
protected-mode yes
requirepass your_password# 持久化配置
appendonly yes
appendfilename "appendonly.aof"
appendfsync everysec# 日志配置
logfile "/data/redis.log"# 内存配置
maxmemory 512mb
maxmemory-policy allkeys-lru
Redis容器:
Redis目前最稳定的版本是6.2系列,特别是6.2.14版本,它提供了良好的性能和稳定性。
docker pull redis:6.2.14
docker run -d \--name redis6 \-p 6379:6379 \-v /home/docker/redis/data:/data \-v /home/docker/redis/conf/redis.conf:/etc/redis/redis.conf \-v /home/docker/redis/logs:/var/log/redis \--restart=always \redis:6.2.14 redis-server /etc/redis/redis.conf
3. nacos
3.1 命令部署
首先创建外部映射目录:
mkdir -p /home/docker/nacos/logs /home/docker/nacos/conf /home/docker/nacos/data
创建自定义配置文件:
touch /home/docker/nacos/conf/custom.properties
在配置文件中添加以下基本配置:
# 数据持久化配置(使用MySQL)
spring.datasource.platform=mysql
db.num=1
db.url.0=jdbc:mysql://mysql-host:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
db.user.0=nacos_user
db.password.0=nacos_password# 命名空间
nacos.naming.empty-service.auto-clean=true
nacos.naming.empty-service.clean.initial-delay-ms=50000
nacos.naming.empty-service.clean.period-time-ms=30000# JVM参数
JVM_XMS=512m
JVM_XMX=512m
JVM_XMN=256m
Nacos最稳定版本
镜像地址
docker pull nacos/nacos-server:v2.2.3
使用以下命令拉取并运行Nacos容器:
docker run -d \--name nacos \-p 8848:8848 \-p 9848:9848 \-p 9849:9849 \-e MODE=standalone \-e PREFER_HOST_MODE=hostname \-e SPRING_DATASOURCE_PLATFORM=mysql \-e MYSQL_SERVICE_HOST=mysql-host \-e MYSQL_SERVICE_PORT=3306 \-e MYSQL_SERVICE_DB_NAME=nacos \-e MYSQL_SERVICE_USER=nacos\-e MYSQL_SERVICE_PASSWORD=Whxx@219\-e NACOS_AUTH_ENABLE=true \-e NACOS_AUTH_TOKEN=e74fe2f54d6ca0791ebeddc4640d14cce404e39ca11761c901acde13d92bfb7c \-e JVM_XMS=512m \-e JVM_XMX=512m \-v /home/docker/nacos/logs:/home/nacos/logs \-v /home/docker/nacos/conf/custom.properties:/home/nacos/init.d/custom.properties \-v /home/docker/nacos/data:/home/nacos/data \--restart=always \nacos/nacos-server:v2.2.3
3.2 docker-compose
首先创建外部映射目录:
mkdir -p /home/docker/nacos/logs /home/docker/nacos/conf /home/docker/nacos/data
version: '3'
services:nacos:image: nacos/nacos-server:v2.2.3container_name: nacosenvironment:- MODE=standalone- PREFER_HOST_MODE=hostname- EMBEDDED_STORAGE=embedded- NACOS_AUTH_ENABLE=false- JVM_XMS=512m- JVM_XMX=512m- JVM_XMN=256m- JVM_MS=128m- JVM_MMS=320m- NACOS_DEBUG=y- JVM_OPTS="-XX:+UseG1GC -XX:MaxGCPauseMillis=200"volumes:- /home/docker/nacos/logs:/home/nacos/logs- /home/docker/nacos/data:/home/nacos/dataports:- "8848:8848"- "9848:9848"- "9849:9849"restart: always
下载nacos-logback.xml文件
wget https://raw.githubusercontent.com/alibaba/nacos/1.4.2/distribution/conf/nacos-logback.xml -O /home/docker/nacos/conf/nacos-logback.xml
下载application.properties文件
wget https://raw.githubusercontent.com/alibaba/nacos/1.4.2/distribution/conf/application.properties -O /home/docker/nacos/conf/application.properties
创建自定义配置文件:
cat > /home/docker/nacos/docker-compose.yml << EOF
version: '3'
services:nacos:image: nacos/nacos-server:v2.2.3container_name: nacosenvironment:- MODE=standalone- PREFER_HOST_MODE=hostname- SPRING_DATASOURCE_PLATFORM=mysql- MYSQL_SERVICE_HOST=10.226.97.219- MYSQL_SERVICE_PORT=3306- MYSQL_SERVICE_DB_NAME=nacos- MYSQL_SERVICE_USER=root- MYSQL_SERVICE_PASSWORD=Whxx@219- JVM_XMS=512m- JVM_XMX=512m- JVM_XMN=256mvolumes:- /home/docker/nacos/conf:/home/nacos/conf- /home/docker/nacos/logs:/home/nacos/logs- /home/docker/nacos/data:/home/nacos/dataports:- "8848:8848"- "9848:9848"- "9849:9849"restart: always
EOF
启动Nacos容器:
cd /home/docker/nacos
docker-compose up -d
检查Nacos是否正常运行:
docker logs -f nacos
Docker
镜像源
可以修改 /etc/docker/daemon.json 文件(如果不存在则创建),添加以下内容:
{"registry-mirrors": ["https://docker.1panel.live","https://vjur7bjc.mirror.aliyuncs.com","https://registry.docker-cn.com","https://docker.mirrors.ustc.edu.cn","https://hub-mirror.c.163.com"]
}
然后重启 Docker 服务:
systemctl restart docker
docker-compose
启动命令
cd /home/docker/nacos
docker-compose up -d# 停止并删除现有容器
docker-compose -f /home/docker/nacos/docker-compose.yml down# 修改docker-compose.yml后重新启动
docker-compose -f /home/docker/nacos/docker-compose.yml up -d