使用mysql的docker镜像创建一个mysql服务容器,并把my.cnf 和数据库文件映射到宿主机目录

使用Docker创建MySQL容器并映射配置文件和数据目录

以下是在Windows环境下使用Docker Desktop创建MySQL服务容器的步骤。假设你已安装Docker Desktop,并使用PowerShell或命令提示符。

  1. 创建宿主机目录
    • 为数据文件创建目录:mkdir C:\mysql\data
    • 为配置文件创建目录:mkdir C:\mysql\config
  2. 准备my.cnf文件
    • 从MySQL官方镜像复制默认配置文件(可选),或创建自定义的my.cnf文件。
    • 示例:将my.cnf放置在C:\mysql\config\my.cnf。如果没有,可从容器中复制:
      docker run –rm mysql:latest cat /etc/mysql/my.cnf > C:\mysql\config\my.cnf
      • 然后编辑该文件以自定义设置。
    • 运行MySQL容器
      • 使用以下命令创建并启动容器,映射数据目录和配置文件。替换your_root_password为实际密码。
        docker run –name mysql-container -e MYSQL_ROOT_PASSWORD=your_root_password -p 3306:3306 -v C:\mysql\data:/var/lib/mysql -v C:\mysql\config\my.cnf:/etc/mysql/my.cnf -d mysql:latest

          • 参数说明:
            • --name mysql-container:容器名称。
            • -e MYSQL_ROOT_PASSWORD:设置root密码。
            • -p 3306:3306:映射端口。
            • -v C:\mysql\data:/var/lib/mysql:映射数据目录。
            • -v C:\mysql\config\my.cnf:/etc/mysql/my.cnf:映射配置文件。
            • -d:后台运行。
            • mysql:latest:使用最新MySQL镜像。
        1. 验证容器
          • 检查运行状态:docker ps
          • 连接MySQL:使用MySQL客户端连接到localhost:3306,用户名root,密码your_root_password。

        注意:确保Docker Desktop正在运行,且路径使用Windows格式(反斜杠)。如果遇到权限问题,使用管理员权限运行命令提示符。数据和配置会持久化在宿主机目录中。

rk3588上创建可调用硬件加速容器的方法记录

这是记录尝试在rk3588开发板上创建可调用npu 硬件加速和视频硬件编解码容器的笔记。

通过网上资料和AI模型的消息。我在rk3588的板上创建一个可以调用硬件加速的容器需要如下操作:

1、我使用的是香橙派的 orange pi  5 ultra ,8G内存,256G 的SD卡。厂商号称有6T算力。

2、宿主机的操作系统是 orange OS ,其实是 arc linux 的摩改版

3、docker 镜像是ubuntu 20.04 ,在创建镜像时,需要引用宿主机的硬件,使用如下参数:

docker run -it -d –name test_vpu –device /dev/mpp_service –device /dev/dri –device /dev/rga ubuntu:20.04 bash

但在后来使用时发现存在容器MPP 找不到 SoC的问题,

需要加入:

–privileged \
–volume /proc/device-tree:/proc/device-tree:ro \

容器内安装包:

apt-get update && apt-get install -y –no-install-recommends \
    ca-certificates git build-essential pkg-config cmake meson ninja-build \
    libdrm-dev libv4l-dev libudev-dev \
    libglib2.0-dev libgudev-1.0-dev \
    gstreamer1.0-tools gstreamer1.0-plugins-base gstreamer1.0-plugins-good \
    gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly gstreamer1.0-libav \
    gstreamer1.0-plugins-base-apps \
    python3 python3-pip \
    && rm -rf /var/lib/apt/lists/*
4、下载mpp 代码并编译:
git clone –depth=1 https://github.com/rockchip-linux/mpp.git && \
    cmake -S mpp -B mpp/build -DCMAKE_BUILD_TYPE=Release -DRKPLATFORM=ON && \
    cmake –build mpp/build -j”$(nproc)” && \
    cmake –install mpp/build
5、下载gstreamer 的mpp 插件并编译:
apt install -y git meson ninja-build pkg-config build-essential \
libdrm-dev libglib2.0-dev libgstreamer1.0-dev \
libgstreamer-plugins-base1.0-dev
下载和编译gstreamer-mpp插件代码并编译,这个原本rk3588厂家在github 上的仓库已不存在,所以使用了其他分支的镜像。
git clone https://github.com/Meonardo/gst-rockchip
cd gst-rockchip
meson setup build –prefix=/usr –buildtype=release
ninja -C build
ninja -C build install
验证插件是否正确安装

gst-inspect-1.0 | grep rockchip
应该能看到类似:

rkmpph264enc

rkmpph265enc

rkmppjpegenc

rkmppvideodec

rkmppfilter