拉取nacos镜像
docker pull nacos/nacos-server:版本号
挂载目录
mkdir -p /yourfile/nacos/logs/ #新建logs目录
mkdir -p /yourfile/nacos/conf/ #新建conf目录
这一步是添加映射文件夹,将宿主机的文件映射到nacos容器中
启动容器,并将nacos文件复制到宿主机上
docker run -p 8848:8848 --name nacos -d nacos/nacos-server:版本号
docker cp -r nacos:/home/nacos/logs/* /yourfile/nacos/logs/
docker cp -r nacos:/home/nacos/conf/* /yourfile/nacos/conf/
#关闭容器
docker rm -f nacos
拉取mysql镜像
docker pull mysql:版本号
docker run -p 3306:3306 --name mysql -e MYSQL_ROOT_PASSWORD=password
mysql创建数据库、数据表
创建nacos容器并运行
docker run -d
--name nacos
-p 8848:8848 -p 9848:9848 -p 9849:9849
--privileged=true
-e JVM_XMS=256m
-e JVM_XMX=256m
-e MODE=standalone
-v /yourfile/nacos/logs/:/home/nacos/logs
-v /yourfile/nacos/conf/:/home/nacos/conf/
--restart=always
nacos/nacos-server:版本号
注意,记得开放防火墙的端口,如果是在云服务上,还得配置安全组来开放固定的端口
#查看防火墙是否开放端口
firewall-cmd --zone=public --query-port=8848/tcp
#开放防火墙
firewall-cmd --add-port=8848/tcp --permanent
#重启
firewall-cmd --reload
常见问题
docker: Error response from daemon: Ports are not available: exposing port TCP 0.0.0.0:9848 -> 0.0.0.0:0: listen tcp 0.0.0.0:9848: bind: An attempt was made to access a socket in a way forbidden by its access permissions.
启动容器时 出现此错误说明 系统9848端口时禁用的不会分配给应用程序,Windows上查看禁用的端口命令为:
netsh interface ipv4 show excludedportrange protocol=tcp
这时需要重新选择宿主机端口映射容器端口。
另外nacos2.x版本需要映射 8848 9848 9849 三个端口,在选择对应宿主机端口时,需要保证宿主机的三个暴露端口直接的偏移量和上诉三个端口一致,如31048:8848 32048:9848 32049:9849