部署redis mysql_用docker部署mysql、redis和nacos

开发Spring Cloud Alibaba微服务应用时,mysql、redis和nacos要先搭建好,本文使用docker搭建;

nacos有多种部署方式,见官方文档:nacos docker,这里用的是单机模式mysql模式,所以会与mysql会有关联;

docker-compose.yaml定义文件如下:

version: "3.6"

services:

mysql:

image: mysql:${MYSQL_VERSION}

container_name: mysql

ports:

- "${MYSQL_HOST_PORT}:3306"

volumes:

- ${MYSQL_CONF_FILE}:/etc/mysql/conf.d/mysql.cnf:ro

- ${MYSQL_DATA_DIR}:/var/lib/mysql/:rw

restart: on-failure

networks:

- default

environment:

MYSQL_ROOT_PASSWORD: "${MYSQL_ROOT_PASSWORD}"

TZ: Asia/Shanghai

redis:

image: redis:${REDIS_VERSION}

container_name: redis

environment:

TZ: Asia/Shanghai

volumes:

- ${REDIS_LOG_DIR}:/var/log/redis/:rw

- ${REDIS_CONF_FILE}:/usr/local/etc/redis/redis.conf:ro

- ${REDIS_DIR}:/var/lib/redis/6379/:rw

command:

- /usr/local/etc/redis/redis.conf

restart: on-failure

networks:

- default

ports:

- "${REDIS_HOST_PORT}:6379"

nacos:

image: nacos/nacos-server:${NACOS_VERSION}

container_name: nacos

environment:

- "PREFER_HOST_MODE=${PREFER_HOST_MODE}"

- "MODE=${MODE}"

- "SPRING_DATASOURCE_PLATFORM=${SPRING_DATASOURCE_PLATFORM}"

- "MYSQL_SERVICE_HOST=${MYSQL_SERVICE_HOST}"

- "MYSQL_SERVICE_DB_NAME=${MYSQL_SERVICE_DB_NAME}"

- "MYSQL_SERVICE_PORT=${MYSQL_SERVICE_PORT}"

- "MYSQL_SERVICE_USER=${MYSQL_SERVICE_USER}"

- "MYSQL_SERVICE_PASSWORD=${MYSQL_SERVICE_PASSWORD}"

volumes:

- ${NACOS_LOG_DIR}:/home/nacos/logs:rw

- ${NACOS_PROPERTIES}:/home/nacos/init.d/custom.properties

depends_on:

- mysql

ports:

- 8848:8848

restart: on-failure

networks:

default:

环境变量.env:

################################################

### environment config file ###

################################################

#################### MySQL #####################

MYSQL_VERSION=5.7.24

MYSQL_HOST_PORT=3306

MYSQL_ROOT_PASSWORD=123456

MYSQL_DATA_DIR=./mysql

MYSQL_CONF_FILE=./conf/mysql.cnf

#################### Redis #####################

REDIS_VERSION=5.0.9

REDIS_HOST_PORT=6379

REDIS_CONF_FILE=./conf/redis.conf

REDIS_LOG_DIR=./log/redis

REDIS_DIR=./redis

#################### NACOS #####################

NACOS_VERSION=1.2.1

NACOS_LOG_DIR=./log/nacos

PREFER_HOST_MODE=hostname

MODE=standalone

SPRING_DATASOURCE_PLATFORM=mysql

MYSQL_SERVICE_HOST=mysql #此处要主要的是要写mysql服务的host,不能写127.0.0.1;直接写mysql即可;

MYSQL_SERVICE_DB_NAME=nacos

MYSQL_SERVICE_PORT=3306

MYSQL_SERVICE_USER=root

MYSQL_SERVICE_PASSWORD=123456

NACOS_PROPERTIES=./conf/custom.properties

文件树结构如下:

├── conf

│   ├── conf.d

│   ├── custom.properties

│   ├── mysql.cnf

│   ├── nginx.conf

│   └── redis.conf

├── docker-compose.yml

├── log

│   ├── nacos

│   └── redis

├── mysql

│   ├── auto.cnf

│   ├── ca-key.pem

│   ├── ca.pem

│   ├── client-cert.pem

│   ├── client-key.pem

│   ├── ib_buffer_pool

│   ├── ib_logfile0

│   ├── ib_logfile1

│   ├── ibdata1

│   ├── ibtmp1

│   ├── mysql

│   ├── mysql.error.log

│   ├── mysql.slow.log

│   ├── nacos

│   ├── performance_schema

│   ├── private_key.pem

│   ├── public_key.pem

│   ├── server-cert.pem

│   ├── server-key.pem

│   └── sys

├── redis

│   ├── dump.rdb

│   └── test.txt

└── www

值得注意的是,这里nacos版本是1.2.1,同时初始化的sql脚本nacos-mysql,可以从nacos-mysql脚本取得;

启动服务:

docker-compose -f docker-compose.yml up -d

Starting redis ... done

Starting mysql ... done

Starting nacos ... done

查看服务和端口情况:

lsof -nP|grep LISTEN

idea 411 bigticket 122u IPv4 0xf5b8d5ea88576b3b 0t0 TCP 127.0.0.1:6942 (LISTEN)

idea 411 bigticket 744u IPv4 0xf5b8d5ea89a9225b 0t0 TCP 127.0.0.1:63342 (LISTEN)

idea 411 bigticket 1049u IPv4 0xf5b8d5ea8b092cfb 0t0 TCP 127.0.0.1:49427 (LISTEN)

privoxy 656 bigticket 3u IPv4 0xf5b8d5ea896a4503 0t0 TCP 127.0.0.1:1087 (LISTEN)

ss-local 663 bigticket 8u IPv4 0xf5b8d5ea86d77ecb 0t0 TCP 127.0.0.1:1086 (LISTEN)

com.docke 1141 bigticket 7u IPv4 0xf5b8d5ea808b6de3 0t0 TCP 127.0.0.1:49948 (LISTEN)

com.docke 1145 bigticket 14u IPv4 0xf5b8d5ea8976d25b 0t0 TCP 127.0.0.1:6443 (LISTEN)

com.docke 1145 bigticket 21u IPv6 0xf5b8d5ea88f29063 0t0 TCP *:6379 (LISTEN)

com.docke 1145 bigticket 24u IPv6 0xf5b8d5ea88f26ba3 0t0 TCP *:3306 (LISTEN)

com.docke 1145 bigticket 25u IPv6 0xf5b8d5ea88f25943 0t0 TCP *:8848 (LISTEN)

mysql和redis用客户端测试连接,顺利连上;

4a13f5d62240efe2b8d4c9f6ea95dfcc.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值