升级Docker
卸载Docker
yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-selinux \
docker-engine-selinux \
docker-engine \
container*
设置软件源
# step 1: 安装必要的一些系统工具
yum update -y (可选操作)
yum install -y yum-utils device-mapper-persistent-data lvm2 bash-completion
# Step 2: 添加软件源信息
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# Step 3: 更新并安装 Docker-CE
yum clean all;yum makecache
# 查询可用的安装版本
yum list docker-ce --showduplicates | sort -r
# 开始安装
yum install docker-ce docker-ce-cli containerd.io docker-compose-plugin
docker-compose升级
[GitHub下载地址](github.com/docker/comp…)
# 默认地址:/usr/bin
# 授权
chmod +x /usr/bin/docker-compose
创建nginx挂载目录
页面挂载目录
mkdir /root/nginx/html
日志挂载目录
mkdir /root/nginx/logs
服务配置文件挂载目录
mkdir /root/nginx/config/conf.d
证书挂载目录
mkdir /root/nginx/cert
主配置文件挂载
vi /root/nginx/config/nginx.conf
nginx.conf内容
user nginx;
worker_processes 1;
error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
sendfile on;
#tcp_nopush on;
keepalive_timeout 65;
#gzip on;
include /etc/nginx/conf.d/*.conf;
}
创建Redis挂载目录
数据挂载目录
mkdir /root/redis/data
日志挂载目录
mkdir /root/redis/logs
配置文件挂载
vi /root/redis/conf/redis.conf
redis.conf内容
# Redis配置文件
#自定义密码
requirepass renbowen
# Redis默认不是以守护进程的方式运行,可以通过该配置项修改,使用yes启用守护进程
# 启用守护进程后,Redis会把pid写到一个pidfile中,在/var/run/redis.pid
daemonize no
# 当Redis以守护进程方式运行时,Redis默认会把pid写入/var/run/redis.pid文件,可以通过pidfile指定
pidfile /var/run/redis.pid
# 指定Redis监听端口,默认端口为6379
# 如果指定0端口,表示Redis不监听TCP连接
port 6379
# 绑定的主机地址
# 你可以绑定单一接口,如果没有绑定,所有接口都会监听到来的连接
# bind 127.0.0.1
# 2、关闭保护机制
protected-mode no
# 当客户端闲置多长时间后关闭连接,如果指定为0,表示关闭该功能
timeout 0
# 指定日志记录级别,Redis总共支持四个级别:debug、verbose、notice、warning,默认为verbose
# debug (很多信息, 对开发/测试比较有用)
# verbose (many rarely useful info, but not a mess like the debug level)
# notice (moderately verbose, what you want in production probably)
# warning (only very important / critical messages are logged)
loglevel verbose
# 日志记录方式,默认为标准输出,如果配置为redis为守护进程方式运行,而这里又配置为标准输出,则日志将会发送给/dev/null
logfile /logs/redis.log
# 设置数据库的数量,默认数据库为0,可以使用select <dbid>命令在连接上指定数据库id
# dbid是从0到‘databases’-1的数目
databases 16
################################ SNAPSHOTTING #################################
# 指定在多长时间内,有多少次更新操作,就将数据同步到数据文件,可以多个条件配合
#
# 满足以下条件将会同步数据:
# 900秒(15分钟)内有1个更改
# 300秒(5分钟)内有10个更改
# 60秒内有10000个更改
# Note: 可以把所有“save”行注释掉,这样就取消同步操作了
save 900 1
save 300 10
save 60 10000
# 指定存储至本地数据库时是否压缩数据,默认为yes,Redis采用LZF压缩,如果为了节省CPU时间,可以关闭该选项,但会导致数据库文件变的巨大
rdbcompression yes
# 指定本地数据库文件名,默认值为dump.rdb
dbfilename dump.rdb
# 工作目录.
# 指定本地数据库存放目录,文件名由上一个dbfilename配置项指定
#
# 注意,这里只能指定一个目录,不能指定文件名
dir ./
# 指定包含其他的配置文件,可以在同一主机上多个Redis实例之间使用同一份配置文件,而同时各实例又拥有自己的特定配置文件
# include /path/to/local.conf
# include /path/to/other.conf
docker compose配置
创建docker-compose文件
vi /root/docker-compose.yaml
docker-compose.yaml
version: "3"
services:
nginx:
image: nginx:1.22.1
container_name: nginx
restart: always
privileged: true
network_mode: host
volumes:
- /root/nginx/html:/usr/share/nginx/html
- /root/nginx/config/nginx.conf:/etc/nginx/nginx.conf
- /root/nginx/logs:/var/log/nginx
- /root/nginx/config/conf.d:/etc/nginx/conf.d
- /root/nginx/cert:/etc/nginx/cert
ports:
- "80:80"
- "443:443"
redis:
image: redis:6.2.5
container_name: redis
privileged: true
network_mode: host
volumes:
- /root/redis/data:/data
- /root/redis/conf/redis.conf:/usr/local/etc/redis/redis.conf
- /root/redis/logs:/logs
command: ["redis-server","/usr/local/etc/redis/redis.conf"]
ports:
- 6379:6379
environment:
- TZ="Asia/Shanghai"
mysql:
image: mysql:8.0.27
container_name: mysql
restart: on-failure:3
network_mode: host
command:
--lower_case_table_names=1
--group_concat_max_len=4294967295
--default-authentication-plugin=mysql_native_password
--character-set-server=utf8mb4
--collation-server=utf8mb4_general_ci
--explicit_defaults_for_timestamp=true
volumes:
- /root/mysql:/var/lib/mysql
- /root/mysqlBackup:/data/mysqlBackup
ports:
- "3306:3306"
healthcheck:
test: ["CMD", "mysqladmin", "ping", "-h", "127.0.0.1", "--silent"]
interval: 3s
retries: 5
start_period: 30s
environment:
# 请修改此密码
- MYSQL_ROOT_PASSWORD=密码
# 创建数据库 有需要打开
#- MYSQL_DATABASE=test
运行docker-compose
docker-compose -f /root/docker-compose.yaml up -d