docker创建nacos容器
一、创建nacos容器(单机版)
docker run -it -p 8848:8848 \
--name nacos-standalone \
--network wenet \
-e MODE=standalone \
-e PREFER_HOST_MODE=hostname \
-e SPRING_DATASOURCE_PLATFORM=mysql \
-e MYSQL_SERVICE_HOST=mysql-wenet \
-e MYSQL_SERVICE_PORT=3306 \
-e MYSQL_SERVICE_DB_NAME=nacos_config \
-e MYSQL_SERVICE_USER=root \
-e MYSQL_SERVICE_PASSWORD=lizhenfeng \
-e NACOS_AUTH_TOKEN=SecretKey012345678901234567890123456789012345678901234567890123456789 \
-e NACOS_AUTH_IDENTITY_KEY=serverIdentity \
-e NACOS_AUTH_IDENTITY_VALUE=security \
nacos/nacos-server:v2.2.1
注:v2.2.0版本以上需要增加NACOS_AUTH_TOKEN、NACOS_AUTH_IDENTITY_KEY、NACOS_AUTH_IDENTITY_VALUE三个环境变量参数,MYSQL_SERVICE_HOST可以使用容器名
二、创建nacos容器(集群版)
1、mysql数据库需提前做好,另外有可能服务器的jvm分配导致会杀死一个进程,所以可以调小一点
2、第一个节点:
docker run -d \ --name nacos-node1 \ --network mynet \-e MODE=cluster \
-h nacos-node1 \
-p 8848:8848 \
-e JVM_XMS=512m \
-e JVM_XMX=512m \
-e JVM_XMN=256m \ -e NACOS_SERVERS="nacos-node1:8848 nacos-node2:8848 nacos-node3:8848" \ -e PREFER_HOST_MODE=hostname \
-e SPRING_DATASOURCE_PLATFORM=mysql \ -e MYSQL_SERVICE_HOST=mysql8 \ -e MYSQL_SERVICE_PORT=3306 \ -e MYSQL_SERVICE_DB_NAME=nacos_config \ -e MYSQL_SERVICE_USER=root \ -e MYSQL_SERVICE_PASSWORD=lizhenfeng \ -e NACOS_AUTH_TOKEN=SecretKey012345678901234567890123456789012345678901234567890123456789 \ -e NACOS_AUTH_IDENTITY_KEY=serverIdentity \ -e NACOS_AUTH_IDENTITY_VALUE=security \ nacos/nacos-server:v2.2.1
3、第二个节点
docker run -d \ --name nacos-node2 \ --network mynet \
-h nacos-node2 \
-p 8849:8848 \ -e MODE=cluster \
-e JVM_XMS=512m \
-e JVM_XMX=512m \
-e JVM_XMN=256m \ -e NACOS_SERVERS="nacos-node1:8848 nacos-node2:8848 nacos-node3:8848" \ -e PREFER_HOST_MODE=hostname \
-e SPRING_DATASOURCE_PLATFORM=mysql \ -e MYSQL_SERVICE_HOST=mysql8 \ -e MYSQL_SERVICE_PORT=3306 \ -e MYSQL_SERVICE_DB_NAME=nacos_config \ -e MYSQL_SERVICE_USER=root \ -e MYSQL_SERVICE_PASSWORD=lizhenfeng \ -e NACOS_AUTH_TOKEN=SecretKey012345678901234567890123456789012345678901234567890123456789 \ -e NACOS_AUTH_IDENTITY_KEY=serverIdentity \ -e NACOS_AUTH_IDENTITY_VALUE=security \ nacos/nacos-server:v2.2.1
4、第三个节点
docker run -d \ --name nacos-node3 \ --network mynet \
-h nacos-node3 \
-p 8850:8848 \ -e MODE=cluster \
-e JVM_XMS=512m \
-e JVM_XMX=512m \
-e JVM_XMN=256m \ -e NACOS_SERVERS="nacos-node1:8848 nacos-node2:8848 nacos-node3:8848" \ -e PREFER_HOST_MODE=hostname \
-e SPRING_DATASOURCE_PLATFORM=mysql \ -e MYSQL_SERVICE_HOST=mysql8 \ -e MYSQL_SERVICE_PORT=3306 \ -e MYSQL_SERVICE_DB_NAME=nacos_config \ -e MYSQL_SERVICE_USER=root \ -e MYSQL_SERVICE_PASSWORD=lizhenfeng \ -e NACOS_AUTH_TOKEN=SecretKey012345678901234567890123456789012345678901234567890123456789 \ -e NACOS_AUTH_IDENTITY_KEY=serverIdentity \ -e NACOS_AUTH_IDENTITY_VALUE=security \ nacos/nacos-server:v2.2.1
5、增加挂载,先复制文件,移除容器后再挂载
docker cp nacos-node1:/home/nacos/conf /home/nacos/nacos-node1
docker cp nacos-node1:/home/nacos/data /home/nacos/nacos-node1
docker cp nacos-node1:/home/nacos/logs /home/nacos/nacos-node1
docker cp nacos-node2:/home/nacos/conf /home/nacos/nacos-node2
docker cp nacos-node2:/home/nacos/data /home/nacos/nacos-node2
docker cp nacos-node2:/home/nacos/logs /home/nacos/nacos-node2
docker cp nacos-node3:/home/nacos/conf /home/nacos/nacos-node3
docker cp nacos-node3:/home/nacos/data /home/nacos/nacos-node3
docker cp nacos-node3:/home/nacos/logs /home/nacos/nacos-node3
docker rm nacos-node1 nacos-node2 nacos-node3
docker run -d \ --name nacos-node1 \ --network mynet \-h nacos-node1 \ -p 8848:8848 \
-e MODE=cluster \ -e JVM_XMS=512m \ -e JVM_XMX=512m \ -e JVM_XMN=256m \ -e NACOS_SERVERS="nacos-node1:8848 nacos-node2:8848 nacos-node3:8848" \ -e PREFER_HOST_MODE=hostname \ -e SPRING_DATASOURCE_PLATFORM=mysql \ -e MYSQL_SERVICE_HOST=mysql8 \ -e MYSQL_SERVICE_PORT=3306 \ -e MYSQL_SERVICE_DB_NAME=nacos_config \ -e MYSQL_SERVICE_USER=root \ -e MYSQL_SERVICE_PASSWORD=lizhenfeng \ -e NACOS_AUTH_TOKEN=SecretKey012345678901234567890123456789012345678901234567890123456789 \ -e NACOS_AUTH_IDENTITY_KEY=serverIdentity \ -e NACOS_AUTH_IDENTITY_VALUE=security \ -v /home/nacos/nacos-node1/conf:/home/nacos/conf \ -v /home/nacos/nacos-node1/data:/home/nacos/data \ -v /home/nacos/nacos-node1/logs:/home/nacos/logs \ nacos/nacos-server:v2.2.1
docker run -d \ --name nacos-node2 \ --network mynet \-h nacos-node2 \ -p 8849:8848 \
-e MODE=cluster \ -e JVM_XMS=512m \ -e JVM_XMX=512m \ -e JVM_XMN=256m \ -e NACOS_SERVERS="nacos-node1:8848 nacos-node2:8848 nacos-node3:8848" \ -e PREFER_HOST_MODE=hostname \ -e SPRING_DATASOURCE_PLATFORM=mysql \ -e MYSQL_SERVICE_HOST=mysql8 \ -e MYSQL_SERVICE_PORT=3306 \ -e MYSQL_SERVICE_DB_NAME=nacos_config \ -e MYSQL_SERVICE_USER=root \ -e MYSQL_SERVICE_PASSWORD=lizhenfeng \ -e NACOS_AUTH_TOKEN=SecretKey012345678901234567890123456789012345678901234567890123456789 \ -e NACOS_AUTH_IDENTITY_KEY=serverIdentity \ -e NACOS_AUTH_IDENTITY_VALUE=security \ -v /home/nacos/nacos-node2/conf:/home/nacos/conf \ -v /home/nacos/nacos-node2/data:/home/nacos/data \ -v /home/nacos/nacos-node2/logs:/home/nacos/logs \ nacos/nacos-server:v2.2.1
docker run -d \ --name nacos-node3 \ --network mynet \-h nacos-node3 \ -p 8850:8848 \
-e MODE=cluster \ -e JVM_XMS=512m \ -e JVM_XMX=512m \ -e JVM_XMN=256m \ -e NACOS_SERVERS="nacos-node1:8848 nacos-node2:8848 nacos-node3:8848" \ -e PREFER_HOST_MODE=hostname \ -e SPRING_DATASOURCE_PLATFORM=mysql \ -e MYSQL_SERVICE_HOST=mysql8 \ -e MYSQL_SERVICE_PORT=3306 \ -e MYSQL_SERVICE_DB_NAME=nacos_config \ -e MYSQL_SERVICE_USER=root \ -e MYSQL_SERVICE_PASSWORD=lizhenfeng \ -e NACOS_AUTH_TOKEN=SecretKey012345678901234567890123456789012345678901234567890123456789 \ -e NACOS_AUTH_IDENTITY_KEY=serverIdentity \ -e NACOS_AUTH_IDENTITY_VALUE=security \ -v /home/nacos/nacos-node3/conf:/home/nacos/conf \ -v /home/nacos/nacos-node3/data:/home/nacos/data \ -v /home/nacos/nacos-node3/logs:/home/nacos/logs \ nacos/nacos-server:v2.2.1