我正在尝试在我的 docker 容器中运行 mysql 基准测试(sysbench)。该脚本运行良好,并在主机终端中运行时执行基准测试,但是当我尝试在容器中运行它时,出现以下错误:
致命:无法连接到 MySQL 服务器,正在中止... 致命:错误 2002:无法通过套接字 '/var/run/mysqld/mysqld.sock' 连接到本地 MySQL 服务器 (2) ALERT:错误:无法确定表'sbtest'类型!ALERT: MySQL error: Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2) FATAL: failed to get database capabilities!
我的码头文件是:
FROM ubuntu:14.04
RUN apt-get -y update && apt-get install -y sysbench
ADD ./script.sh /code/script.sh
WORKDIR /code
ENTRYPOINT ./script.sh
我的脚本是:
export DEBIAN_FRONTEND="noninteractive"
sudo debconf-set-selections <<< 'mysql-server mysql-server/root_password password root'
sudo debconf-set-selections <<< 'mysql-server mysql-server/root_password_again password root'
sudo apt-get -y install mysql-server
sudo mysql --user="root" --password="root" -e "create database dbtest"
sudo sysbench --test=oltp --oltp-table-size=1000000 --mysql-db=dbtest --mysql-user=root --mysql-password=root prepare
sudo sysbench --test=oltp --oltp-table-size=1000000 --oltp-test-mode=complex --oltp-read-only=off --num-threads=6 --max-time=60 --max-requests=0 --mysql-db=dbtest --mysql-user=root --mysql-password=root run
我该如何解决这个问题,因为相同的脚本可以在普通的 Linux 机器上运行?