docker 离线安装

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

posted @ 2025-10-06 09:43  EchoSong  阅读(7)  评论(0)    收藏  举报