diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..3e0007c --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,33 @@ +version: "3.8" +services: + nacos: + image: nacos/nacos-server:v2.3.1 + container_name: nacos-standalone-mysql + env_file: + - ./docker/config/nacos-standalone-mysql.env + volumes: + - ./log/nacos-logs/:/home/nacos/logs + ports: + - "8848:8848" + - "9848:9848" + depends_on: + mysql: + condition: service_healthy + restart: always + mysql: + container_name: mysql + build: + context: . + dockerfile: ./docker/image/Dockerfile-MySQL + image: simple4h/mysql:8.0.30 + env_file: + - ./docker/config/mysql.env + volumes: + - ./log/mysql-logs:/var/lib/mysql + ports: + - "3306:3306" + healthcheck: + test: [ "CMD", "mysqladmin" ,"ping", "-h", "localhost" ] + interval: 5s + timeout: 10s + retries: 10 \ No newline at end of file diff --git a/docker/config/mysql.env b/docker/config/mysql.env new file mode 100644 index 0000000..7ed321b --- /dev/null +++ b/docker/config/mysql.env @@ -0,0 +1,5 @@ +MYSQL_ROOT_PASSWORD=root +MYSQL_DATABASE=nacos_database +MYSQL_USER=nacos +MYSQL_PASSWORD=nacos +LANG=C.UTF-8 \ No newline at end of file diff --git a/docker/config/nacos-standalone-mysql.env b/docker/config/nacos-standalone-mysql.env new file mode 100644 index 0000000..19d3b36 --- /dev/null +++ b/docker/config/nacos-standalone-mysql.env @@ -0,0 +1,12 @@ +PREFER_HOST_MODE=hostname +MODE=standalone +SPRING_DATASOURCE_PLATFORM=mysql +MYSQL_SERVICE_HOST=mysql +MYSQL_SERVICE_DB_NAME=nacos_database +MYSQL_SERVICE_PORT=3306 +MYSQL_SERVICE_USER=nacos +MYSQL_SERVICE_PASSWORD=nacos +MYSQL_SERVICE_DB_PARAM=characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true +NACOS_AUTH_IDENTITY_KEY=2222 +NACOS_AUTH_IDENTITY_VALUE=2xxx +NACOS_AUTH_TOKEN=SecretKey012345678901234567890123456789012345678901234567890123456789 \ No newline at end of file diff --git a/docker/image/Dockerfile-MySQL b/docker/image/Dockerfile-MySQL new file mode 100644 index 0000000..22531f2 --- /dev/null +++ b/docker/image/Dockerfile-MySQL @@ -0,0 +1,5 @@ +FROM mysql:8.0.31 +ADD https://raw.githubusercontent.com/alibaba/nacos/develop/distribution/conf/mysql-schema.sql /docker-entrypoint-initdb.d/nacos-mysql.sql +RUN chown -R mysql:mysql /docker-entrypoint-initdb.d/nacos-mysql.sql +EXPOSE 3306 +CMD ["mysqld", "--character-set-server=utf8mb4", "--collation-server=utf8mb4_unicode_ci"] \ No newline at end of file