0、验证基础镜像
docker manifest inspect quay.io/centos/centos:stream8
{
"schemaVersion": 2,
"mediaType": "application/vnd.oci.image.index.v1+json",
"manifests": [
{
"mediaType": "application/vnd.oci.image.manifest.v1+json",
"size": 505,
"digest": "sha256:006cf9e1a950130a6ddf4c396871f555c80447ee7efb5996844789e038aad581",
"platform": {
"architecture": "arm64",
"os": "linux",
"variant": "v8"
}
},
{
"mediaType": "application/vnd.oci.image.manifest.v1+json",
"size": 505,
"digest": "sha256:b7f504e86bfee84775ec01759be9df3d5166e4f51965a76e33fdec0bd979d04e",
"platform": {
"architecture": "ppc64le",
"os": "linux"
}
},
{
"mediaType": "application/vnd.oci.image.manifest.v1+json",
"size": 505,
"digest": "sha256:fe1278a5451bbfa593a7c04d7399d8b0ca249edd446c0a4085c79a1b0773d6cd",
"platform": {
"architecture": "amd64",
"os": "linux"
}
}
]
该镜像支持 ARM64 架构,Docker 会根据硬件架构自动选择合适版本。
1、运行基础镜像
启动容器并进入 Bash 环境:
docker run -it --name centos-bpx quay.io/centos/centos:stream8 /bin/bash
2、安装依赖
更新 YUM 源并安装必要依赖:
sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-* && sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-* && dnf install -y epel-release
yum update -y
yum install -y epel-release
yum install -y git gcc automake libtool pkgconfig openssl-devel postgresql-devel mysql-devel make libaio-devel
3、安装sysbench
克隆 Sysbench 源码并编译安装,启用 PostgreSQL 支持:
git clone https://github.com/akopytov/sysbench.git /tmp/sysbench
cd /tmp/sysbench/
./autogen.sh
./configure --with-pgsql
make && make install
验证 Sysbench 安装:
sysbench --help
–with-pgsql 参数
在你提供的 Dockerfile 中,sysbench 的构建过程默认没有安装 PostgreSQL 模块。具体来说,./configure 命令没有加上 --with-pgsql 参数,所以 PostgreSQL 模块不会被安装。
卸载的话
make uninstall
make clean
4、保存
提交容器更改并保存为新镜像:
docker commit -a "PX Bai" centos-bpx centos-sysbench-my-pg
docker save -o centos-sysbench-my-pg.tar centos-sysbench-my-pg
5、使用
加载镜像并运行容器:
docker load -i centos-sysbench-my-pg.tar
docker run -it --name centos-sysbench1 centos-sysbench-my-pg /bin/bash