文章目录
1. 安装 CRI
客户端 nerdctl
选择版本 https://github.com/containerd/nerdctl/releases
# 删除前面的 v
export version=1.1.0
wget https://github.com/containerd/nerdctl/releases/download/v${version}/nerdctl-full-${version}-linux-amd64.tar.gz
tar Cxzvvf /usr/local nerdctl-full-${version}-linux-amd64.tar.gz
验证是否可用
nerdctl pull nginx:alpine
nerdctl images
nerdctl rmi nginx:alpine
2. 创建主机挂载配置文件
mkdir -p /root/i/containerd/mysql/{conf,data} && cd /root/i/containerd/mysql/
conf
存放配置文件data
存放数据库文件
3. 初始化配置文件
cat <<EOF> conf/my.cnf
[mysqld]
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
datadir = /var/lib/mysql
secure-file-priv= NULL
# Custom config should go here
!includedir /etc/mysql/conf.d/
EOF
4. 生成启动文件 - start.sh
cat <<EOF > start.sh
#!/bin/bash
MYSQL_DIR=`pwd`
nerdctl stop mysql
nerdctl rm mysql
nerdctl run -d \\
--restart always \\
-p 3306:3306 \\
--name mysql \\
--privileged=true \\
-v \${MYSQL_DIR}/conf/my.cnf:/etc/mysql/my.cnf \\
-v \${MYSQL_DIR}/data:/var/lib/mysql \\
-e MYSQL_ROOT_PASSWORD=wwwroot \\
mysql:8.0
EOF
5. 运行start.sh 启动mysql
sh start.sh
查看
[root@master mysql]# nerdctl ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
2a0656857b01 docker.io/library/mysql:8.0 "docker-entrypoint.s…" 14 seconds ago Up 0.0.0.0:3306->3306/tcp mysql