主要命令参考:https://docs.docker.com/engine/install/centos/
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
3、设置 docker repo 的 yum 位置
sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
4、安装 docker,以及 docker-cli
sudo yum install docker-ce docker-ce-cli containerd.io
5、启动 docker
sudo systemctl start docker
6、设置 docker 开机自启
sudo systemctl enable docker
7、测试 docker 常用命令,注意切换到 root 用户下 https://docs.docker.com/engine/reference/commandline/docker/
8、Docker配置阿里云镜像加速器
https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors
执行以下命令即可:
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://2x0cdkie.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
1、下载镜像文件
docker pull mysql:5.7
2、创建实例并启动
docker run -p 3306:3306 --name mysql \
-v /mydata/mysql/log:/var/log/mysql \
-v /mydata/mysql/data:/var/lib/mysql \
-v /mydata/mysql/conf:/etc/mysql \
-e MYSQL_ROOT_PASSWORD=root \
-d mysql:5.7
参数说明:
-p 3306:3306:将容器的 3306 端口映射到主机的 3306 端口
-v /mydata/mysql/conf:/etc/mysql:将配置文件夹挂载到主机
-v /mydata/mysql/log:/var/log/mysql:将日志文件夹挂载到主机
-v /mydata/mysql/data:/var/lib/mysql/:将配置文件夹挂载到主机
-e MYSQL_ROOT_PASSWORD=root:初始化 root 用户的密码
3、MySQL 配置
在 /mydata/mysql/conf 目录下创建配置文件 my.cnf
vi /mydata/mysql/conf/my.cnf
配置内容如下:
[client]
default-character-set=utf8
[mysql] default-character-set=utf8
[mysqld]
init_connect='SET collation_connection = utf8_unicode_ci'
init_connect='SET NAMES utf8'
character-set-server=utf8
collation-server=utf8_unicode_ci
skip-character-set-client-handshake
skip-name-resolve
注意:解决 MySQL 连接慢的问题 在配置文件中加入如下,并重启 mysql
[mysqld]
skip-name-resolve
解释: skip-name-resolve:跳过域名解析
设置启动docker 自动启动容器:
docker update mysql --restart=always
4、通过容器的 mysql 命令行工具连接
docker exec -it mysql mysql -uroot -proot
5、设置 root 远程访问
grant all privileges on *.* to 'root'@'%' identified by 'root' with grant option;
flush privileges;
如果不设置开启root账户远程访问,则使用其他电脑连接该容器里的MySQL会出现以下错误:
1045-Access denied for user ‘root’@‘124.221.145.291’(using password:YES)
若要完全解决,可在安装mysql的机器上把mysql库下的user表里的root用户开启远程登陆—
(把localhost这个值替换成%)
mysql服务搭建后,默认的root角色是不能进行远程访问连接的,建议在数据库搭建时,创建一远程连接的角色。
6、进入容器文件系统
docker exec -it mysql /bin/bash
1、下载镜像文件
docker pull redis
2、创建实例并启动
mkdir -p /mydata/redis/conf
touch /mydata/redis/conf/redis.conf
docker run -p 6379:6379 --name redis
-v /mydata/redis/data:/data \
-v /mydata/redis/conf/redis.conf:/etc/redis/redis.conf \
-d redis redis-server /etc/redis/redis.conf
3、设置redis 缓存数据持久化
在redis.conf 中配置
appendonly yes
4、使用 redis 镜像执行 redis-cli 命令连接
docker exec -it redis redis-cli
测试是否安装成功
1、拉取镜像
docker pull nacos/nacos-server:1.3.0 # :后为版本号,可以不加,默认拉取最新版本Nacos
2、mysql新建nacos的数据库,并执行脚本
默认需要创建的数据库名为 nacos_config
(也可以使用默认自带的数据库,但是为了方便查看数据,我们这里选择自己新建数据库)
使用默认数据库安装Nacos 可参考:
https://www.cnblogs.com/niunafei/p/12803965.html
https://github.com/alibaba/nacos/blob/master/config/src/main/resources/META-INF/nacos-db.sql
3、创建文件夹及配置文件
这里是为了后来将Ducker容器内启动的Nacos配置文件挂载出来,方便操作。
mkdir -p /mydata/nacos/logs/ #新建logs目录
mkdir -p /mydata/nacos/init.d/
vim /mydata/nacos/init.d/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=user #数据库用户名
db.password=pass #数据库密码
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
4、启动容器
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:1.3.0 #如果第一步拉取nacos时加了版本号,这里也需要加版本号
5、查看是否启动成功
① 去第3步挂载的目录下面查看日志
② 直接访问
http://ip地址:8848/nacos/
用户名和密码均为 nacos 查看是否登录成功。