docker-compose安装部署nacos

系统环境

  • MacOs: 10.15.5
  • Docker: Docker version 19.03.12
  • Docker-compose: docker-compose version 1.26.2

安装过程

1.docker mysql8准备

​ 由于官方使用的docker-compose是把nacos和mysql编排在一起,我们实际在本地开发环境的配置中,不可能为每一个新的容器都配套一个mysql,所以这里先准备一个本地的MySQL即可。我使用的是docker-compose安装的mysql8.0,具体配置如下:

version: "3"
services:
  db:
    image: mysql:8.0
    container_name: mysql8
    restart: always
    environment:
      TZ: Asia/Shanghai
      MYSQL_ROOT_PASSWORD: *****
      MYSQL_DATABASE: ****
      MYSQL_USER: ****
      MYSQL_PASSWORD: *****
    command:
      --max_connections=1000
      --character-set-server=utf8mb4
      --collation-server=utf8mb4_general_ci
      --default-authentication-plugin=mysql_native_password
    ports:
      - 53306:3306
    volumes:
      - ./data:/var/lib/mysql
      - ./conf:/etc/mysql/conf.d
      #- /etc/timezone:/etc/timezone
      #- /etc/localtime:/etc/localtime

​ 创建完MySQL后,新建一个database为“nacos”,从链接https://github.com/alibaba/nacos/blob/develop/distribution/conf/nacos-mysql.sql获取nacos的数据库初始文件。生成新的库表备用。

2.docker network准备

​ 由于nacos配置的持久化可以选择MySQL方案,又因为在我本地两者都是以docker容器的方式存在,所以需要配置好内部链接的网桥,这里可以为nacos配置使用装好的mysql网桥。

#命令行查询
> docker inspect mysql8
"Networks": {
"mysql80_default": {
"IPAMConfig": null,
"Links": null,
"Aliases": [
"db",
"fa2f604577ef"
],
"NetworkID": "******************************",
"EndpointID": "****************************",
"Gateway": "172.20.0.1",
"IPAddress": "172.20.0.2",
"IPPrefixLen": 16,
"IPv6Gateway": "",
"GlobalIPv6Address": "",
"GlobalIPv6PrefixLen": 0,
"MacAddress": "*****************",
"DriverOpts": null
}
}

这里得到MySQL的Networks为mysql80_default;IPAddress为“172.20.0.2”。先记录下,后续配置nacos的时候会用到。

3.nacos安装

​ 目前nacos的最新版是1.3.1,先从nacos的官方拉取最新的配置项目

#命令行执行
> git clone https://github.com/nacos-group/nacos-docker.git

修改配置文件适配我们的本地环境path: nacos-docker/example/standalone-mysql-8.yaml

version: "3"
services:
  nacos:
    image: nacos/nacos-server:1.3.1
    container_name: nacos-standalone-mysql
    env_file:
      - ../env/nacos-standlone-mysql.env
    volumes:
      - ./standalone-logs/:/home/nacos/logs
      - ./init.d/custom.properties:/home/nacos/init.d/custom.properties
    ports:
      - "8848:8848"
      - "9555:9555"
    restart: always
#配置和mysql容器互通的网络net-docker
networks: 
  default:
    external:
      name: mysql80_default

修改nacos-docker目录下对应的MySQL的配置文件path/env/nacos-standlone-mysql.env

PREFER_HOST_MODE=hostname
MODE=standalone
#此处配置nacos的持久化方式为mysql
SPRING_DATASOURCE_PLATFORM=mysql
#这处使用上面查询到的mysql在容器内部ip地址
MYSQL_SERVICE_HOST=172.20.0.2
MYSQL_SERVICE_DB_NAME=nacos
MYSQL_SERVICE_PORT=3306
MYSQL_SERVICE_USER=****
MYSQL_SERVICE_PASSWORD=*****

在standalone-mysql-8.yaml 文件的同级目录下,使用docker-compose命令创建容器

>docker-compose -f standalone-mysql-8.yaml up -d

浏览器查看nacos是否创建成功

http://localhost:8848/nacos/
登录名和密码都是nacos

尝试新增一个配置,并去数据库的config_info查看是否保存成功。

至此nacos的安装完成。

参考博文

https://www.jianshu.com/p/c76832629062

你可能感兴趣的:(docker-compose安装部署nacos)