一、环境准备
Docker 运行在 CentOS 7 (64-bit)上,要求系统为64位、系统内核版本为 3.10 以上。
1.查看系统版本
cat /etc/centos-release
满足docker的环境要求CentOS7.7+系统内核版本为 3.10 以上,就可以接下来的安装操作了
2.查看系统内核版本
uname -a
3.检查完后安装依赖工具
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
4.yum的配置管理,添加docker的软件源地址
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
5.更新yum缓存
sudo yum makecache fast
二、安装docker
1.可以查看所有仓库中所有docker版本,并选择特定版本安装
yum list docker-ce --showduplicates | sort -r
2.安装docker (自行选择版本)
sudo yum install docker-ce-18.06.2.ce
3.启动docker服务
sudo systemctl start docker
4、把docker服务加入到开机自启动项:
sudo systemctl enable docker
5.查看版本:
docker version
6、查看docker的启用状态:
systemctl status docker
active (running)代表启动了
7.Docker核心基础之配置阿里云镜像加速,这一步是为了使应用加载快速(可省略)
阿里云镜像加速器配置地址:
https://cr.console.aliyun.com/cn-shenzhen/instances/mirrors
配置步骤:
vi /etc/docker/daemon.json
配置加速镜像 把以下内容加入到日志中
{ "registry-mirrors": ["https://brbiug6s.mirror.aliyuncs.com"] }
重启:
systemctl daemon-reload 或者
systemctl restart docker
三、yum安装JDK
1、查看JDK版本,找到你想要安装的JDK版本,这里以 JDK1.8 为例
yum -y list java*
2、安装JDK1.8(默认安装到usr/lib/jvm目录下)
yum install -y java-1.8.0-openjdk.x86_64
3、查看JDK版本
java -version
三、安装MySql
docker pull mysql:5.7
不持久化数据库
docker run -p 3306:3306 --name mysql -e MYSQL_ROOT_PASSWORD=root -d mysql:5.7 --lower_case_table_names=1
持久化数据库
1、创建文件夹
mkdir -p /mydata/mysql/log
mkdir -p /mydata/mysql/data
mkdir -p /mydata/mysql/conf
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 --lower_case_table_names=1
四、安装Nacos
docker pull nacos/nacos-server
运行
docker run --name nacos -d -p 8848:8848 --privileged=true --restart=always -e PREFER_HOST_MODE=hostname -e MODE=standalone -e SPRING_DATASOURCE_PLATFORM=mysql -e MYSQL_SERVICE_HOST=192.168.2.158 -e MYSQL_SERVICE_PORT=3306 -e MYSQL_SERVICE_USER=root -e MYSQL_SERVICE_PASSWORD=123456 -e MYSQL_SERVICE_DB_NAME=nacos nacos/nacos-server
五、安装Rabbitmq
docker pull rabbitmq:3.7.7-management
docker run -dit --name rabbitmq3.7.7 -e RABBITMQ_DEFAULT_USER=guest -e RABBITMQ_DEFAULT_PASS=guest -p 15672:15672 -p 5672:5672 rabbitmq:3.7.7-management
六、安装Redis (不可用6以上的版本,会有冲突)
docker pull redis:6.2.6
不持久化
docker run --name redis -p 6739:6379 -d redis:6.2.6 --requirepass "xrush2023R" --sysctl net.core.somaxconn=1024
持久化
1、创建放置配置文件的文件夹
mkdir -p /myredis
2、创建data文件夹
mkdir -p /myredis/data
3、在myredis文件夹下创建myredis.conf文件
vi myredis.conf
4、设置myredis.conf文件内容,可以去官网下载,需要跟安装的redis版本号一致
配置文件内容:
# bind 192.168.1.100 10.0.0.1
# bind 127.0.0.1 ::1
#bind 127.0.0.1protected-mode no
# 监听端口
port 6379tcp-backlog 511
# 设置 Redis 连接密码
requirepass 123456# 当客户端闲置多长时间后关闭连接,如果指定为 0,表示关闭该功能
timeout 0tcp-keepalive 300
# 是否以守护进程的方式运行 yes是启用守护进程,no为不是
daemonize nosupervised no
# 当redis以守护进程的方式运行时,默认把pid先写指定文件
pidfile /var/run/redis_6379.pid# 指定日志记录级别,Redis 总共支持四个级别:debug、verbose、notice、warning,默认为 verbose
loglevel notice# 日志记录方式,默认为标准输出,如果redis以守护进程方式运行,这里又设置为标准输出,日志则将为发送给dev/null
logfile ""# 设置数据库的数量,默认数据库为 0
databases 30always-show-logo yes
# 900 秒(15 分钟)内有1个更改,则保存快照
save 900 1
# 300 秒(5 分钟)内有10个更改,则保存快照
save 300 10
# 60 秒(1 分钟)内有10000个更改,则保存快照
save 60 10000stop-writes-on-bgsave-error yes
# 指定存储至本地数据库时是否压缩数据,默认为 yes,Redis 采用 LZF 压缩,如果为了节省 CPU 时间,可以关闭该选项,但会导致数据库文件变的巨大
rdbcompression yesrdbchecksum yes
# 指定本地数据库文件名,默认值为 dump.rdb
dbfilename dump.rdb# 指定本地数据库存放目录
dir ./replica-serve-stale-data yes
replica-read-only yes
repl-diskless-sync no
repl-disable-tcp-nodelay no
replica-priority 100
lazyfree-lazy-eviction no
lazyfree-lazy-expire no
lazyfree-lazy-server-del no
replica-lazy-flush no# 指定是否在每次更新操作后进行日志记录,也就是是否开启aof日志备份,默认为no
appendonly yes# 指定更新日志文件名,也就是aof日志的文件名
appendfilename "appendonly.aof"no-appendfsync-on-rewrite no
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mbaof-load-truncated yes
aof-use-rdb-preamble yes
lua-time-limit 5000
slowlog-max-len 128
notify-keyspace-events ""
# 指定在超过指定数量或元素超过某一临界值,采用一种特殊的哈希算法
hash-max-ziplist-entries 512
hash-max-ziplist-value 64list-max-ziplist-size -2
list-compress-depth 0
set-max-intset-entries 512
zset-max-ziplist-entries 128
zset-max-ziplist-value 64hll-sparse-max-bytes 3000
stream-node-max-bytes 4096
stream-node-max-entries 100activerehashing yes
hz 10
dynamic-hz yes
aof-rewrite-incremental-fsync yes
rdb-save-incremental-fsync yes
5、启动redis容器
docker run \
--restart=always \
--log-opt max-size=100m \
--log-opt max-file=2 -p 6379:6379 \
--name myredis \
-v /myredis/myredis.conf:/etc/redis/redis.conf \
-v /myredis/data:/data \
-d redis:6.2.6 redis-server /etc/redis/redis.conf \
--appendonly yes \
--requirepass xrush2023R