Docker启动nacos
我的Docker-compose.yml
version: "2"
services:mysql:image: mysql:8.0container_name: mysql#restart: alwaysenvironment:MYSQL_ROOT_PASSWORD: A2qT03X7KlL4v/F2foD6kV/Ch9gpNBWOh1qoCywanjv1AsI7f9x3iAyR9NkUKeV+FMo+halCTzy5Llbk2VOrVQ==MYSQL_DATABASE: xiaohashuTZ: Asia/Shanghaiports:- "3307:3306"command:--character-set-server=utf8mb4--collation-server=utf8mb4_unicode_ci--default-authentication-plugin=mysql_native_passwordvolumes:- /data/docker-data/mysql_data:/data/lib/mysql- /data/xiaohashu.sql:/docker-entrypoint-initdb.d/xiaohashu.sqlsecurity_opt:- seccomp=unconfinedredis:image: redis:latestcontainer_name: redisprivileged: true
# restart: alwayscommand: >--requirepass qwe123!@#--databases 16--timeout 0--tcp-keepalive 60ports:- "6379:6379"volumes:- /data/docker-data/redis_data:/data# 你运行你的nacos可以根据需要来调参nacos:image: nacos-server:latestcontainer_name: nacosenvironment:- MODE=standalone- JVM_XMS=512m- JVM_XMX=512m- JVM_XMN=256m- NACOS_AUTH_TOKEN=SecretKey012345678901234567890123456789012345678901234567890123456789- NACOS_AUTH_ENABLE=true- NACOS_AUTH_IDENTITY_KEY=serverIdentity- NACOS_AUTH_IDENTITY_VALUE=securityports:- "8848:8848"- "9848:9848"volumes:- /data/docker-data/nacos/logs:/home/nacos/logs- /data/docker-data/nacos/conf:/home/nacos/conf- /data/docker-data/nacos/plugins:/home/nacos/plugins
移除容器
docker-compose down
停止所有容器
docker stop $(docker ps -aq)
删除所有容器
docker rm $(docker ps -aq)
这里路径根据docker-compose.yml里面的卷映射(volumes)来自行设置
mkdir -p /data/docker-data/nacos/{logs,conf,plugins}
这里路径根据docker-compose.yml里面的卷映射(volumes)来自行设置
cat > /data/docker-data/nacos/conf/nacos-logback.xml << 'EOF'
<?xml version="1.0" encoding="UTF-8"?>
<configuration><appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender"><encoder><Pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</Pattern></encoder></appender><appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"><file>${LOG_HOME}/nacos.log</file><rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy"><fileNamePattern>${LOG_HOME}/nacos-%d{yyyy-MM-dd}.%i.log</fileNamePattern><maxFileSize>1GB</maxFileSize><maxHistory>30</maxHistory></rollingPolicy><encoder><Pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</Pattern></encoder></appender><root level="INFO"><appender-ref ref="CONSOLE"/><appender-ref ref="FILE"/></root>
</configuration>
EOF
这里路径根据docker-compose.yml里面的卷映射(volumes)来自行设置
cat > /data/docker-data/nacos/conf/application.properties << 'EOF'
server.servlet.contextPath=/nacos
server.port=8848
spring.datasource.platform=mysql
db.num=1
db.url.0=jdbc:mysql://mysql:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
db.user=root
db.password=A2qT03X7KlL4v/F2foD6kV/Ch9gpNBWOh1qoCywanjv1AsI7f9x3iAyR9NkUKeV+FMo+halCTzy5Llbk2VOrVQ==
nacos.core.auth.system.type=nacos
nacos.core.auth.enabled=true
nacos.core.auth.default.token.expire.seconds=18000
nacos.core.auth.default.token.secret.key=SecretKey012345678901234567890123456789012345678901234567890123456789
nacos.core.auth.caching.enabled=true
nacos.core.auth.enable.userAgentAuthWhite=false
nacos.core.auth.server.identity.key=serverIdentity
nacos.core.auth.server.identity.value=security
EOF
修改权限,确保足够权限
chmod -R 777 /data/docker-data/nacos
启动容器
docker-compose up -d
如果容器没有up起来,可以用这个查看日志
docker-compose logs 容器id
最后容器也是成功up起来了,不是Exit或者是其他状态