前提条件
Docker支持一下的CentOs版本
- Centos7(64-bit),系统内核版本为 3.10 以上
- Centos6.5(64-bit) 或者更高版本,系统内核版本为 2.6.32-431 或者更高版本
安装步骤
使用 yum 安装(CentOS 7下)
- 通过 uname -r 命令查看你当前的内核版本
[root@05aisjbZ ~]# uname -r 3.10.0-1127.19.1.el7.x86_64
- 安装命令
[root@05aisjbZ ~]# yum -y install docker
- 启动 Docker 后台服务
[root@05aisjbZ ~]# service docker start
安装MySQL
-
查看docker中已有mysql的镜像
[root@ds ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE docker.io/nginx latest 605c77e624dd 2 years ago 141 MB docker.io/mysql 8.0.27 3218b38490ce 2 years ago 516 MB
-
查看docker中正在运行mysql的容器
[root@ds ~]# docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 45b6227e0cb5 mysql:8.0.27 "docker-entrypoint..." 6 days ago Up 6 minutes 33060/tcp, 0.0.0.0:2333->3306/tcp mysql
-
停止已有Mysql容器
[root@ds ~]# docker stop 45b6227e0cb5 45b6227e0cb5
-
删除已有Mysql容器
[root@ds ~]# docker rm -f 45b6227e0cb5 45b6227e0cb5
-
删除镜像
[root@ds ~]# docker rmi -f 3218b38490ce Untagged: docker.io/mysql:8.0.27 Untagged: docker.io/mysql@sha256:e9027fe4d91c0153429607251656806cc784e914937271037f7738bd5b8e7709 Deleted: sha256:3218b38490cec8d31976a40b92e09d61377359eab878db49f025e5d464367f3b Deleted: sha256:aa81ca46575069829fe1b3c654d9e8feb43b4373932159fe2cad1ac13524a2f5 Deleted: sha256:0558823b9fbe967ea6d7174999be3cc9250b3423036370dc1a6888168cbd224d Deleted: sha256:a46013db1d31231a0e1bac7eeda5ad4786dea0b1773927b45f92ea352a6d7ff9 Deleted: sha256:af161a47bb22852e9e3caf39f1dcd590b64bb8fae54315f9c2e7dc35b025e4e3 Deleted: sha256:feff1495e6982a7e91edc59b96ea74fd80e03674d92c7ec8a502b417268822ff Deleted: sha256:8805862fcb6ef9deb32d4218e9e6377f35fb351a8be7abafdf1da358b2b287ba Deleted: sha256:872d2f24c4c64a6795e86958fde075a273c35c82815f0a5025cce41edfef50c7 Deleted: sha256:6fdb3143b79e1be7181d32748dd9d4a845056dfe16ee4c827410e0edef5ad3da Deleted: sha256:b0527c827c82a8f8f37f706fcb86c420819bb7d707a8de7b664b9ca491c96838 Deleted: sha256:75147f61f29796d6528486d8b1f9fb5d122709ea35620f8ffcea0e0ad2ab0cd0 Deleted: sha256:2938c71ddf01643685879bf182b626f0a53b1356138ef73c40496182e84548aa Deleted: sha256:ad6b69b549193f81b039a1d478bc896f6e460c77c1849a4374ab95f9a3d2cea2
-
拉取mysql镜像
docker pull mysql:8.0.27
安装mysql时,由于网络原因出现Get https://registry-1.docker.io/v2/错误,使用阿里云的镜像
vim /etc/docker/daemon.json # 内容如下 {"registry-mirrors": ["https://6kx4zyno.mirror.aliyuncs.com"] #修改镜像 }
重启docker
systemctl restart docker
-
定义挂载目录
在/home/mysql目录下新建两个文件夹,一个叫data另一个叫conf
命令形式mkdir -p /home/mysql/{data,conf}
-
配置my.cnf(my.ini)
[mysqld]
#Mysql服务的唯一编号 每个mysql服务Id需唯一
server-id=1
#服务端口号 默认3306
port=3306
#mysql安装根目录(default /usr)
#basedir=/usr/local/mysql
#mysql数据文件所在位置
datadir=/var/lib/mysql
#pid
pid-file=/var/run/mysqld/mysqld.pid
#设置socke文件所在目录
socket=/var/lib/mysql/mysql.sock
#设置临时目录
#tmpdir=/tmp
# 用户
user=mysql
# 允许访问的IP网段
bind-address=0.0.0.0
# 跳过密码登录
#skip-grant-tables
#主要用于MyISAM存储引擎,如果多台服务器连接一个数据库则建议注释下面内容
#skip-external-locking
#只能用IP地址检查客户端的登录,不用主机名
#skip_name_resolve=1
#事务隔离级别,默认为可重复读,mysql默认可重复读级别(此级别下可能参数很多间隙锁,影响性能)
#transaction_isolation=READ-COMMITTED
#数据库默认字符集,主流字符集支持一些特殊表情符号(特殊表情符占用4个字节)
character-set-server=utf8mb4
#数据库字符集对应一些排序等规则,注意要和character-set-server对应
collation-server=utf8mb4_general_ci
#设置client连接mysql时的字符集,防止乱码
init_connect=‘SET NAMES utf8mb4’
#是否对sql语句大小写敏感,1表示不敏感
lower_case_table_names=1
#最大连接数
max_connections=400
#最大错误连接数
max_connect_errors=1000
#TIMESTAMP如果没有显示声明NOT NULL,允许NULL值
explicit_defaults_for_timestamp=true
#SQL数据包发送的大小,如果有BLOB对象建议修改成1G
max_allowed_packet=128M
#MySQL连接闲置超过一定时间后(单位:秒)将会被强行关闭
#MySQL默认的wait_timeout 值为8个小时, interactive_timeout参数需要同时配置才能生效
interactive_timeout=1800
wait_timeout=1800
#内部内存临时表的最大值 ,设置成128M。
#比如大数据量的group by ,order by时可能用到临时表,
#超过了这个值将写入磁盘,系统IO压力增大
tmp_table_size=134217728
max_heap_table_size=134217728
#禁用mysql的缓存查询结果集功能
#后期根据业务情况测试决定是否开启
#大部分情况下关闭下面两项
#query_cache_size = 0
#query_cache_type = 0
#数据库错误日志文件
#log-error=/var/log/mysqld.log
#慢查询sql日志设置
#slow_query_log=1
#slow_query_log_file=/var/log/mysqld_slow.log
#检查未使用到索引的sql
log_queries_not_using_indexes=1
#针对log_queries_not_using_indexes开启后,记录慢sql的频次、每分钟记录的条数
log_throttle_queries_not_using_indexes=5
#作为从库时生效,从库复制中如何有慢sql也将被记录
log_slow_slave_statements=1
#慢查询执行的秒数,必须达到此值可被记录
long_query_time=8
#检索的行数必须达到此值才可被记为慢查询
min_examined_row_limit=100
#mysql binlog日志文件保存的过期时间,过期后自动删除
#expire_logs_days=5
binlog_expire_logs_seconds=604800- 开启mysql容器
docker run -itd -p 2333:3306
–name mysql
-v /home/mysql/conf/my.cnf:/etc/my.cnf
-v /home/mysql/data:/var/lib/mysql
–privileged=true
–restart=always
-e MYSQL_ROOT_PASSWORD=root
-d docker.io/mysql:8.0.27 #这个的要是REPOSITORY:TAG- 语法说明
-d:后台启动
-p:映射端口
-name:应用名称
-e MYSQL_ROOT_PASSWORD:配置默认密码
-privileged=true: 使用该参数,container内的root拥有真正的root权限,否则,container的root只是外部的一个普通用户权限
-resatart=always, 容器启动参数,其值可以位no、no-failure、always。no:默认值,容器退出后,docker不在自动重启容器,on-failure:容器的推出状态非0,则docker自动重启容器,还可以指定启动次数,若超过次数未能启动,则放弃;always:只要容器退出,则docker将自动重启 -
启动MYSQL
[root@ds ~]# docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 5568a7264dfe docker.io/mysql:8.0.27 "docker-entrypoint..." 2 minutes ago Up 2 minutes 33060/tcp, 0.0.0.0:2333->3306/tcp mysql [oot@ds ~]# docker start 5568a7264dfe 5568a7264dfe
- 常见错误:
1,链接报错信息:Public Key Retrieval is not allowed
解决方案:默认的allowPublicKeyRetrieval为false,抢其修改为true就可以。
Docker Compose
Docker Compose 是一个在 Docker 上运行使用 Compose 文件格式定义的多容器应用程序的工具
docker-compose安装
- 在github上下载符合自己的版本的包
- 存放到docker-compose目录下的plugins下(安装目录没有硬性要求)
- 将下载的docker-compose文件最好重命名
- 将下载的docker-compose文件 赋权
sudo chmod +x /usr/local/bin/docker-compose
- 添加软路由,方便调用
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
- 检验安装是否正确
docker-compose version
nacos集群安装
使用docker-compose安装集群,方便快捷。
nacos数据库配置,创建一个nacos数据库,运行一下语句
具体在nacos的conf中存放,或者网上找一份。
/** Copyright 1999-2018 Alibaba Group Holding Ltd.** Licensed under the Apache License, Version 2.0 (the "License");* you may not use this file except in compliance with the License.* You may obtain a copy of the License at** http://www.apache.org/licenses/LICENSE-2.0** Unless required by applicable law or agreed to in writing, software* distributed under the License is distributed on an "AS IS" BASIS,* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.* See the License for the specific language governing permissions and* limitations under the License.*//******************************************/
/* 数据库全名 = nacos_config */
/* 表名称 = config_info */
/******************************************/
CREATE DATABASE nacos_config;
USE nacos_config;CREATE TABLE `config_info` (`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',`data_id` varchar(255) NOT NULL COMMENT 'data_id',`group_id` varchar(255) DEFAULT NULL,`content` longtext NOT NULL COMMENT 'content',`md5` varchar(32) DEFAULT NULL COMMENT 'md5',`gmt_create` datetime NOT NULL DEFAULT '2010-05-05 00:00:00' COMMENT '创建时间',`gmt_modified` datetime NOT NULL DEFAULT '2010-05-05 00:00:00' COMMENT '修改时间',`src_user` text COMMENT 'source user',`src_ip` varchar(20) DEFAULT NULL COMMENT 'source ip',`app_name` varchar(128) DEFAULT NULL,`tenant_id` varchar(128) DEFAULT '' COMMENT '租户字段',`c_desc` varchar(256) DEFAULT NULL,`c_use` varchar(64) DEFAULT NULL,`effect` varchar(64) DEFAULT NULL,`type` varchar(64) DEFAULT NULL,`c_schema` text,`encrypted_data_key` text NOT NULL COMMENT '秘钥',PRIMARY KEY (`id`),UNIQUE KEY `uk_configinfo_datagrouptenant` (`data_id`,`group_id`,`tenant_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='config_info';/******************************************/
/* 数据库全名 = nacos_config */
/* 表名称 = config_info_aggr */
/******************************************/
CREATE TABLE `config_info_aggr` (`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',`data_id` varchar(255) NOT NULL COMMENT 'data_id',`group_id` varchar(255) NOT NULL COMMENT 'group_id',`datum_id` varchar(255) NOT NULL COMMENT 'datum_id',`content` longtext NOT NULL COMMENT '内容',`gmt_modified` datetime NOT NULL COMMENT '修改时间',`app_name` varchar(128) DEFAULT NULL,`tenant_id` varchar(128) DEFAULT '' COMMENT '租户字段',PRIMARY KEY (`id`),UNIQUE KEY `uk_configinfoaggr_datagrouptenantdatum` (`data_id`,`group_id`,`tenant_id`,`datum_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='增加租户字段';/******************************************/
/* 数据库全名 = nacos_config */
/* 表名称 = config_info_beta */
/******************************************/
CREATE TABLE `config_info_beta` (`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',`data_id` varchar(255) NOT NULL COMMENT 'data_id',`group_id` varchar(128) NOT NULL COMMENT 'group_id',`app_name` varchar(128) DEFAULT NULL COMMENT 'app_name',`content` longtext NOT NULL COMMENT 'content',`beta_ips` varchar(1024) DEFAULT NULL COMMENT 'betaIps',`md5` varchar(32) DEFAULT NULL COMMENT 'md5',`gmt_create` datetime NOT NULL DEFAULT '2010-05-05 00:00:00' COMMENT '创建时间',`gmt_modified` datetime NOT NULL DEFAULT '2010-05-05 00:00:00' COMMENT '修改时间',`src_user` text COMMENT 'source user',`src_ip` varchar(20) DEFAULT NULL COMMENT 'source ip',`tenant_id` varchar(128) DEFAULT '' COMMENT '租户字段',`encrypted_data_key` text NOT NULL COMMENT '秘钥',PRIMARY KEY (`id`),UNIQUE KEY `uk_configinfobeta_datagrouptenant` (`data_id`,`group_id`,`tenant_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='config_info_beta';/******************************************/
/* 数据库全名 = nacos_config */
/* 表名称 = config_info_tag */
/******************************************/
CREATE TABLE `config_info_tag` (`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',`data_id` varchar(255) NOT NULL COMMENT 'data_id',`group_id` varchar(128) NOT NULL COMMENT 'group_id',`tenant_id` varchar(128) DEFAULT '' COMMENT 'tenant_id',`tag_id` varchar(128) NOT NULL COMMENT 'tag_id',`app_name` varchar(128) DEFAULT NULL COMMENT 'app_name',`content` longtext NOT NULL COMMENT 'content',`md5` varchar(32) DEFAULT NULL COMMENT 'md5',`gmt_create` datetime NOT NULL DEFAULT '2010-05-05 00:00:00' COMMENT '创建时间',`gmt_modified` datetime NOT NULL DEFAULT '2010-05-05 00:00:00' COMMENT '修改时间',`src_user` text COMMENT 'source user',`src_ip` varchar(20) DEFAULT NULL COMMENT 'source ip',PRIMARY KEY (`id`),UNIQUE KEY `uk_configinfotag_datagrouptenanttag` (`data_id`,`group_id`,`tenant_id`,`tag_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='config_info_tag';/******************************************/
/* 数据库全名 = nacos_config */
/* 表名称 = config_tags_relation */
/******************************************/
CREATE TABLE `config_tags_relation` (`id` bigint(20) NOT NULL COMMENT 'id',`tag_name` varchar(128) NOT NULL COMMENT 'tag_name',`tag_type` varchar(64) DEFAULT NULL COMMENT 'tag_type',`data_id` varchar(255) NOT NULL COMMENT 'data_id',`group_id` varchar(128) NOT NULL COMMENT 'group_id',`tenant_id` varchar(128) DEFAULT '' COMMENT 'tenant_id',`nid` bigint(20) NOT NULL AUTO_INCREMENT,PRIMARY KEY (`nid`),UNIQUE KEY `uk_configtagrelation_configidtag` (`id`,`tag_name`,`tag_type`),KEY `idx_tenant_id` (`tenant_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='config_tag_relation';/******************************************/
/* 数据库全名 = nacos_config */
/* 表名称 = group_capacity */
/******************************************/
CREATE TABLE `group_capacity` (`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键ID',`group_id` varchar(128) NOT NULL DEFAULT '' COMMENT 'Group ID,空字符表示整个集群',`quota` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '配额,0表示使用默认值',`usage` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '使用量',`max_size` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '单个配置大小上限,单位为字节,0表示使用默认值',`max_aggr_count` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '聚合子配置最大个数,,0表示使用默认值',`max_aggr_size` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '单个聚合数据的子配置大小上限,单位为字节,0表示使用默认值',`max_history_count` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '最大变更历史数量',`gmt_create` datetime NOT NULL DEFAULT '2010-05-05 00:00:00' COMMENT '创建时间',`gmt_modified` datetime NOT NULL DEFAULT '2010-05-05 00:00:00' COMMENT '修改时间',PRIMARY KEY (`id`),UNIQUE KEY `uk_group_id` (`group_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='集群、各Group容量信息表';/******************************************/
/* 数据库全名 = nacos_config */
/* 表名称 = his_config_info */
/******************************************/
CREATE TABLE `his_config_info` (`id` bigint(64) unsigned NOT NULL,`nid` bigint(20) unsigned NOT NULL AUTO_INCREMENT,`data_id` varchar(255) NOT NULL,`group_id` varchar(128) NOT NULL,`app_name` varchar(128) DEFAULT NULL COMMENT 'app_name',`content` longtext NOT NULL,`md5` varchar(32) DEFAULT NULL,`gmt_create` datetime NOT NULL DEFAULT '2010-05-05 00:00:00',`gmt_modified` datetime NOT NULL DEFAULT '2010-05-05 00:00:00',`src_user` text,`src_ip` varchar(20) DEFAULT NULL,`op_type` char(10) DEFAULT NULL,`tenant_id` varchar(128) DEFAULT '' COMMENT '租户字段',`encrypted_data_key` text NOT NULL COMMENT '秘钥',PRIMARY KEY (`nid`),KEY `idx_gmt_create` (`gmt_create`),KEY `idx_gmt_modified` (`gmt_modified`),KEY `idx_did` (`data_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='多租户改造';/******************************************/
/* 数据库全名 = nacos_config */
/* 表名称 = tenant_capacity */
/******************************************/
CREATE TABLE `tenant_capacity` (`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键ID',`tenant_id` varchar(128) NOT NULL DEFAULT '' COMMENT 'Tenant ID',`quota` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '配额,0表示使用默认值',`usage` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '使用量',`max_size` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '单个配置大小上限,单位为字节,0表示使用默认值',`max_aggr_count` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '聚合子配置最大个数',`max_aggr_size` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '单个聚合数据的子配置大小上限,单位为字节,0表示使用默认值',`max_history_count` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '最大变更历史数量',`gmt_create` datetime NOT NULL DEFAULT '2010-05-05 00:00:00' COMMENT '创建时间',`gmt_modified` datetime NOT NULL DEFAULT '2010-05-05 00:00:00' COMMENT '修改时间',PRIMARY KEY (`id`),UNIQUE KEY `uk_tenant_id` (`tenant_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='租户容量信息表';CREATE TABLE `tenant_info` (`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',`kp` varchar(128) NOT NULL COMMENT 'kp',`tenant_id` varchar(128) default '' COMMENT 'tenant_id',`tenant_name` varchar(128) default '' COMMENT 'tenant_name',`tenant_desc` varchar(256) DEFAULT NULL COMMENT 'tenant_desc',`create_source` varchar(32) DEFAULT NULL COMMENT 'create_source',`gmt_create` bigint(20) NOT NULL COMMENT '创建时间',`gmt_modified` bigint(20) NOT NULL COMMENT '修改时间',PRIMARY KEY (`id`),UNIQUE KEY `uk_tenant_info_kptenantid` (`kp`,`tenant_id`),KEY `idx_tenant_id` (`tenant_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='tenant_info';CREATE TABLE users (username varchar(50) NOT NULL PRIMARY KEY,password varchar(500) NOT NULL,enabled boolean NOT NULL
);CREATE TABLE roles (username varchar(50) NOT NULL,role varchar(50) NOT NULL,constraint uk_username_role UNIQUE (username,role)
);CREATE TABLE permissions (role varchar(50) NOT NULL,resource varchar(512) NOT NULL,action varchar(8) NOT NULL,constraint uk_role_permission UNIQUE (role,resource,action)
);INSERT INTO users (username, password, enabled) VALUES ('nacos', '$2a$10$EuWPZHzz32dJN7jexM34MOeYirDdFAZm2kuWj7VEOJhhZkDrxfvUu', TRUE);INSERT INTO roles (username, role) VALUES ('nacos', 'ROLE_ADMIN');
创建nacos目录
mkdir -p /apps/nacos
切换到nacos目录
cd /apps/nacos
配置nginx
- 创建nginx配置文件
touch nginx.conf
- 写nginx.conf文件信息
user nginx;
worker_processes auto;error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;events {worker_connections 4096;
}http {include /etc/nginx/mime.types;default_type application/octet-stream;log_format main '$remote_addr - $remote_user [$time_local] "$request" ''$status $body_bytes_sent "$http_referer" ''"$http_user_agent" "$http_x_forwarded_for"';access_log /var/log/nginx/access.log main;sendfile on;keepalive_timeout 65;# include /etc/nginx/conf.d/*.conf;# 添加负载均衡配置upstream nacos {server 192.168.50.21:8846 weight=1 max_fails=2 fail_timeout=10s;# 192.168.50.21是宿主机的ip,因为nacos容器安装好后就是通过宿主机ip:端口访问的server 192.168.50.21:8847 weight=1 max_fails=2 fail_timeout=10s;server 192.168.50.21:8849 weight=1 max_fails=2 fail_timeout=10s;}server {listen 80;listen [::]:80;# 修改为宿主机的 IP地址server_name 192.168.50.21;# To allow special characters in headersignore_invalid_headers off;# Allow any size file to be uploaded.# Set to a value such as 1000m; to restrict file size to a specific valueclient_max_body_size 0;# To disable bufferingproxy_buffering off;proxy_request_buffering off;location /nacos {proxy_set_header Host $http_host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_set_header X-Forwarded-Proto $scheme;proxy_connect_timeout 300;# Default is HTTP/1, keepalive is only enabled in HTTP/1.1proxy_http_version 1.1;proxy_set_header Connection "";chunked_transfer_encoding off;# 添加代理配置proxy_pass http://nacos;}}
}
创建并写docker-compose.yaml配置文件
- 安装命令以及文件
cd /apps/nacos
touch docker-compose.yaml
vim docker-compose.yaml
docker-compose.yaml内容
version: "3"
services: nacos-nginx: container_name: nacos-nginximage: nginxlinks:- nacos1- nacos2- nacos3volumes: - ./nginx.conf:/etc/nginx/nginx.conf:roports: - 8845:80restart: on-failure nacos1:container_name: nacos-server01hostname: nacos-server01image: nacos/nacos-serverenvironment: - MODE=cluster- PREFER_HOST_MODE=hostname- NACOS_SERVERS=nacos-server01:8848 nacos-server02:8848 nacos-server03:8848- SPRING_DATASOURCE_PLATFORM=mysql- MYSQL_SERVICE_HOST=192.168.50.21 #数据库ip- MYSQL_SERVICE_PORT=2223- MYSQL_SERVICE_USER=root- MYSQL_SERVICE_PASSWORD=root #密码- MYSQL_SERVICE_DB_NAME=nacos #nacos数据库名称- JVM_XMS=128m- JVM_XMX=128m- JVM_XMN=128mvolumes: - ./cluster-logs/nacos1:/home/nacos/logs- ./init.d/custom.properties:/home/nacos/init.d/custom.propertiesports: - 8846:8848- 9848:9848- 9555:9555restart: on-failurenacos2:container_name: nacos-server02hostname: nacos-server02image: nacos/nacos-serverenvironment: - MODE=cluster- PREFER_HOST_MODE=hostname- NACOS_SERVERS=nacos-server01:8848 nacos-server02:8848 nacos-server03:8848- SPRING_DATASOURCE_PLATFORM=mysql- MYSQL_SERVICE_HOST=192.168.50.21- MYSQL_SERVICE_PORT=2223- MYSQL_SERVICE_USER=root- MYSQL_SERVICE_PASSWORD=root- MYSQL_SERVICE_DB_NAME=nacos- JVM_XMS=128m- JVM_XMX=128m- JVM_XMN=128mvolumes: - ./cluster-logs/nacos1:/home/nacos/logs- ./init.d/custom.properties:/home/nacos/init.d/custom.propertiesports: - 8847:8848- 9849:9848restart: on-failurenacos3:container_name: nacos-server03hostname: nacos-server03image: nacos/nacos-serverenvironment: - MODE=cluster- PREFER_HOST_MODE=hostname- NACOS_SERVERS=nacos-server01:8848 nacos-server02:8848 nacos-server03:8848- SPRING_DATASOURCE_PLATFORM=mysql- MYSQL_SERVICE_HOST=192.168.50.21- MYSQL_SERVICE_PORT=2223- MYSQL_SERVICE_USER=root- MYSQL_SERVICE_PASSWORD=root- MYSQL_SERVICE_DB_NAME=nacos- JVM_XMS=128m- JVM_XMX=128m- JVM_XMN=128mvolumes: - ./cluster-logs/nacos1:/home/nacos/logs- ./init.d/custom.properties:/home/nacos/init.d/custom.propertiesports: - 8849:8848- 9850:9848restart: on-failure
编排docker-compose.yaml
- 修改数据
#语法 docker-compose -f <编排文件路径> up -d
docker-compose -f docker-compose.yaml up -d
查看运行情况
docker ps -n 5
查看容器日志
docker logs nacos-nginx
地址:http:{ip}:8845/nacos 账号密码都为nacos
安装遇到问题
-
docker - failed to register layer: Error processing tar file(exit status 1) no space left on device
如果时磁盘不够,需要扩容磁盘,磁盘扩容攻略 ,吐槽一下:不清楚运维同学是不是偶尔也会写服务端代码!!! -
nacos启动失败,Nacos Server did not start because dumpservice bean construction failure : No DataSource s
nacos配置的数据库存在问题。 -
如果嫌看日志麻烦,可以映射日志