阿里云服务器 docker 安装 mysql nacos 与踩坑
一、安装docker
docker 的使用文档 在 CentOS | 上安装 Docker 引擎Docker 文档
1.卸载旧版本的docker(如果是新的服务器可以跳过)
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
2.设置存储库
sudo yum install -y yum-utils
sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
3.安装docker
sudo yum install docker-ce docker-ce-cli containerd.io
4.启动docker
# 启动docker
sudo systemctl start docker
# 验证 docker 是否已正确安装
sudo docker run hello-world
# 设置开机自启动
sudo systemctl enable docker
5.配置阿里云镜像
# 地址
https://cr.console.aliyun.com/cn-qingdao/instances/mirrors
# 登录自己的阿里云选择CentOS的操作文档
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://f3b976hf.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
# 一步步执行就好
二、docker安装mysql
1.拉取mysql镜像
可以去dockerhub上查找自己需要的镜像和版本 https://hub.docker.com/
# 拉取最新版本的mysql
sudo docker pull mysql
# 我们安装mysql:5.7的版本(公司比较常用)
sudo docker pull mysql:5.7
2.创建挂载目录(可以不需要进入容器去修改配置或者查看日志)
mkdir -p /mydata/mysql/logs/
mkdir -p /mydata/nacos/data/
mkdir -p /mydata/nacos/conf/
3.创建容器
# --name指定容器名字 -v目录挂载 -p指定端口映射 -e设置mysql参数 -d后台运行
sudo docker run -p 3306:3306 --name mysql \
-v /mydata/mysql/logs:/logs \
-v /mydata/mysql/data:/var/lib/mysql \
-v /mydata/mysql/conf:/etc/mysql \
-e MYSQL_ROOT_PASSWORD=root \
-d mysql:5.7
MYSQL_ROOT_PASSWORD=root
设置MySQL的密码root,建议不要root要设置复杂一点,后面我也受到了血的教训(后面文章会有揭晓)
4.查看容器
# 查看运行的容器
docker ps
# 查看所有的容器
docker ps -a
# 进入容器
docker exec -it mysql /bin/bash/
# 进入mysql
mysql -u root -p (回车)
输入自己的密码
# 退出mysql
exit
# 退出容器
exit
# 设置MySQL开机自启
docker update mysql --restart=always
# 重启mysql
docker restart mysql
5.连接mysql成功
三、docker安装nacos
参考 (二)Docker安装Nacos - AmeKen - 博客园 (cnblogs.com) 的文章
因为自己遇到过许多问题,还是非常感谢
1.拉取nacos镜像
docker pull nacos/nacos-server
2.创建挂载目录(可以不需要进入容器去修改配置或者查看日志)
mkdir -p /mydata/nacos/logs/ #新建logs目录
mkdir -p /mydata/nacos/init.d/
vim /mydata/nacos/init.d/custom.properties #修改配置文件
3.创建容器
刚开始因为自己的阿里云服务器只有2G运行内存比较小,没有设置nacos
JVM_XMS=256m JVM_XMX=256m 的参数大小导致一启动容器服务器就卡死,
只有重新启动服务器。
docker run \
--name nacos -d \
-p 8848:8848 \
--privileged=true \
--restart=always \
-e JVM_XMS=256m \
-e JVM_XMX=256m \
-e MODE=standalone \
-e PREFER_HOST_MODE=hostname \
-v /mydata/nacos/logs:/home/nacos/logs \
-v /mydata/nacos/init.d/custom.properties:/home/nacos/init.d/custom.properties \
nacos/nacos-server
4.为nacos配置数据库
下载地址
https://github.com/alibaba/nacos/blob/master/config/src/main/resources/META-INF/nacos-db.sql
在我们刚才安装的MySQL上运行nacos的数据库
5.修改配置文件custom.properties
server.contextPath=/nacos
server.servlet.contextPath=/nacos
server.port=8848
spring.datasource.platform=mysql
db.num=1
db.url.0=jdbc:mysql://xx.xx.xx.x:3306/nacos_config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
db.user=root
db.password=root
nacos.cmdb.dumpTaskInterval=3600
nacos.cmdb.eventTaskInterval=10
nacos.cmdb.labelTaskInterval=300
nacos.cmdb.loadDataAtStart=false
management.metrics.export.elastic.enabled=false
management.metrics.export.influx.enabled=false
server.tomcat.accesslog.enabled=true
server.tomcat.accesslog.pattern=%h %l %u %t "%r" %s %b %D %{User-Agent}i
nacos.security.ignore.urls=/,/**/*.css,/**/*.js,/**/*.html,/**/*.map,/**/*.svg,/**/*.png,/**/*.ico,/console-fe/public/**,/v1/auth/login,/v1/console/health/**,/v1/cs/**,/v1/ns/**,/v1/cmdb/**,/actuator/**,/v1/console/server/**
nacos.naming.distro.taskDispatchThreadCount=1
nacos.naming.distro.taskDispatchPeriod=200
nacos.naming.distro.batchSyncKeyCount=1000
nacos.naming.distro.initDataRatio=0.9
nacos.naming.distro.syncRetryDelay=5000
nacos.naming.data.warmup=true
nacos.naming.expireInstance=true
修改成自己的参数
# 数据库ip和数据库名字
db.url.0=jdbc:mysql://xx.xx.xx.x:3306/nacos_config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
# 数据库用户
db.user=root
# 数据库密码
db.password=root