一.安装docker(离线安装)
1.上传并解压安装包,可点此下载
tar -Pzxvf docker-19.03.8.tgz
cp docker/* /usr/bin/
2.注册docker服务为系统服务
cat <<EOF >> /etc/systemd/system/docker.service
[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network-online.target firewalld.service
Wants=network-online.target
[Service]
Type=notify
# the default is not to use systemd for cgroups because the delegate issues still
# exists and systemd currently does not support the cgroup feature set required
# for containers run by docker
ExecStart=/usr/bin/dockerd
ExecReload=/bin/kill -s HUP $MAINPID
# Having non-zero Limit*s causes performance problems due to accounting overhead
# in the kernel. We recommend using cgroups to do container-local accounting.
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity
# Uncomment TasksMax if your systemd version supports it.
# Only systemd 226 and above support this version.
#TasksMax=infinity
TimeoutStartSec=0
# set delegate yes so that systemd does not reset the cgroups of docker containers
Delegate=yes
# kill only the docker process, not all processes in the cgroup
KillMode=process
# restart the docker process if it exits prematurely
Restart=on-failure
StartLimitBurst=3
StartLimitInterval=60s
[Install]
WantedBy=multi-user.target
EOF
3.设置docker服务文件权限
# 设置文件权限
chmod +x /etc/systemd/system/docker.service
4.配置容器存储地址(可选)
mkdir -p /etc/docker
vim /etc/docker/daemon.json
放入以下内容
{
"data-root": "/data/docker"
}
注:以上文件将docker的容器存放位置设置为/data/docker/
,此目录可修改或删除,若使用请确保该目录存在
重载配置文件
systemctl daemon-reload
二.启动docker
1.启动docker
systemctl start docker
2.设置开机自启
systemctl enable docker.service
3.验证
systemctl status docker
4.查看版本
docker -v
5.配置国内镜像源
vim /etc/docker/daemon.json
{
"data-root": "/data/docker",
"registry-mirrors": [
"https://mirror.ccs.tencentyun.com",
"https://hub-mirror.c.163.com",
"https://mirror.baidubce.com"
]
}
若使用私有仓库地址(harbor、nexus),请添加如下内容到daemon.json
"insecure-registries": ["IP:port"]
注:daemon.json修改后需要重载
systemctl daemon-reload
systemctl restart docker
三.安装docker-compose(离线安装)
1.github下载官方安装包,可以点此跳转
2.移动安装包
sudo cp docker-compose-linux-x86_64 /usr/local/bin/docker-compose
3.授权docker-compose权限
sudo chmod +x /usr/local/bin/docker-compose
4.查看版本
docker-compose -v
四.部署MySQL
1.创建存放目录
cd /data
mkdir docker-compose && cd docker-compose
mkdir mysql && cd mysql
2.创建挂载目录
cd /data/docker-compose/mysql
mkdir -p /data/docker-compose/mysql/data
mkdir -p /data/docker-compose/mysql/config
3.新建配置文件
vim /data/docker-compose/mysql/config/my.cnf
放入以下内容
[client]
port = 3306
default-character-set = utf8mb4
[mysqld]
# 基础配置
user = mysql
port = 3306
basedir = /usr
datadir = /var/lib/mysql
socket = /var/run/mysqld/mysqld.sock
pid-file = /var/run/mysqld/mysqld.pid
skip-name-resolve
sql_mode=STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
# 字符集
character-set-server = utf8mb4
collation-server = utf8mb4_general_ci
# 连接数
max_connections = 1000
max_connect_errors = 10000
wait_timeout = 600
interactive_timeout = 600
# 日志配置
log_error = /var/log/mysql/error.log
# 慢查询日志
slow_query_log = 1
slow_query_log_file = /var/log/mysql/mysql-slow.log
long_query_time = 1
log_queries_not_using_indexes = 1
# 通用查询日志(可选)
# general_log = 1
# general_log_file = /var/log/mysql/mysql-general.log
# 二进制日志(可用于主从复制或数据恢复)
# log-bin = mysql-bin
# binlog_format = ROW
# server-id = 1
# InnoDB 优化
innodb_file_per_table = 1
innodb_buffer_pool_size = 512M
innodb_log_file_size = 128M
innodb_flush_log_at_trx_commit = 1
innodb_flush_method = O_DIRECT
# 时间
default_time_zone = '+8:00'
[mysql]
default-character-set = utf8mb4
4.编写docker-compose文件
vim /data/docker-compose/mysql/docker-compose.yml
放入以下内容
# 放入以下内容
version: '3'
services:
mysql:
image: mysql:8.0.31
restart: always
container_name: mysql
environment:
MYSQL_ROOT_PASSWORD: password
MYSQL_LOWER_CASE_TABLE_NAMES: 1
TZ: Asia/Shanghai
ports:
- 3306:3306
volumes:
- /data/docker-compose/mysql/data:/var/lib/mysql
- /data/docker-compose/mysql/config/my.cnf:/etc/mysql/my.cnf
command:
--max_connections=1000
--character-set-server=utf8mb4
--collation-server=utf8mb4_general_ci
--default-authentication-plugin=mysql_native_password
5.启动mysql容器
cd /data/docker-compose/mysql/
docker-compose up -d
[脱单doge]