https://mirrors.aliyun.com/docker-ce/linux/static/stable/x86_64/
docker安装包上传
docker-24.0.0.tgz上传至/usr/local
tar -zxvf docker-24.0.0.tgz
cp docker/* /usr/bin/
docker安装包安装
配置docker服务
vim /etc/systemd/system/docker.service
[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network-online.target firewalld.service containerd.service
Wants=network-online.target
Requires=containerd.service
[Service]
Type=notify
ExecStart=/usr/bin/dockerd
--containerd=/run/containerd/containerd.sock
--exec-opt native.cgroupdriver=systemd
ExecReload=/bin/kill -s HUP $MAINPID
TimeoutStartSec=0
RestartSec=2s
Restart=always
StartLimitBurst=3
StartLimitInterval=60s
LimitNOFILE=infinity
LimitMEMLOCK=infinity
LimitNPROC=infinity
LimitCORE=infinity
TasksMax=infinity
Delegate=yes
KillMode=process
OOMScoreAdjust=-500
[Install]
WantedBy=multi-user.target
配置container服务
vim /etc/systemd/system/containerd.service
[Unit]
Description=containerd container runtime
Documentation=https://containerd.io
After=network.target local-fs.target
[Service]
ExecStartPre=-/sbin/modprobe overlay
ExecStart=/usr/bin/containerd
Restart=always
RestartSec=5
Delegate=yes
KillMode=process
OOMScoreAdjust=-999
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity
LimitMEMLOCK=infinity
TasksMax=infinity
[Install]
WantedBy=multi-user.target
启动服务
重载 systemd 配置
sudo systemctl daemon-reload
启动 docker
sudo systemctl enable --now docker
启动 containerd
sudo systemctl enable --now containerd
验证服务状态
sudo systemctl status docker containerd
设置
kl_conf 下面 my.cnf 文件
[mysqld]
字符集
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
skip-character-set-client-handshake
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
连接
max_connections = 200
认证插件
default-authentication-plugin = mysql_native_password
时区
default-time-zone = '+8:00'
性能建议(2GB 内存)
innodb_buffer_pool_size = 1G
innodb_log_file_size = 256M
key_buffer_size = 32M
MySQL
cd /usr/local
docker volume rm kl_data
docker volume create kl_data
实际目录在 /var/lib/docker/volumes
新建配置
docker volume create kl_conf
docker load -i mysql_8.0.tar
docker run --name=kl-mysql-server
--memory=2g --memory-swap=4g --cpus=2
--restart unless-stopped
-v kl_data:/var/lib/mysql
-v kl_conf:/etc/mysql/conf.d
-e MYSQL_ROOT_PASSWORD='S7$p9Kq#2@mN!xL5'
-p 3307:3306
-d mysql:8.0 \
修改配置
进入容器
docker exec -it kl-mysql-server bash
docker 命令
查看本地镜像
docker images
查看镜像详细信息
docker inspect <镜像ID或名称>
删除镜像
docker rmi <镜像ID或名称>
查看运行中的容器
docker ps
查看所有容器(包括已停止的)
docker ps -a
删除容器
# 必须先停止容器才能删除
docker rm <容器ID或名称>
# 强制删除运行中的容器
docker rm -f <容器ID或名称>
启动容器
docker run [选项] <镜像名称>
停止运行中的容器
docker stop <容器ID或名称>
启动已停止的容器
docker start <容器ID或名称>
重启容器
docker restart <容器ID或名称>
查看容器日志
docker logs -f <容器名称>
进入运行中的容器
docker exec -it <容器名称> /bin/bash