Administrator
发布于 2025-03-26 / 38 阅读 / 0 评论 / 0 点赞

x86机器用docker模拟arm

x86机器用docker模拟arm

apt install qemu qemu-user-static binfmt-support
# 基础镜像为 Ubuntu 16.04
FROM arm64v8/ubuntu:22.04 AS builder

# 设置非交互模式和语言环境
ENV DEBIAN_FRONTEND=noninteractive
ENV LANG=C.UTF-8 LC_ALL=C.UTF-8
# 设置环境变量
ENV DEBIAN_FRONTEND=noninteractive


# 安装必要工具和依赖
RUN apt-get update && apt-get install -y --no-install-recommends \
    libgles2-mesa-dev \
    iproute2 \
    lsof \
    xvfb \
    dbus \
    apt-utils \
    x11vnc \
    xfce4 \
    xfce4-session \
    xfce4-terminal \
    dbus-x11 \
    openssh-server \
    language-pack-zh-hans \
    fonts-wqy-zenhei \
    fonts-wqy-microhei \
    && apt-get clean && rm -rf /var/lib/apt/lists/*
RUN sed -i 's/#PermitRootLogin prohibit-password/PermitRootLogin yes/' /etc/ssh/sshd_config
RUN echo "PermitEmptyPasswords no" >> /etc/ssh/sshd_config && \
    echo "PasswordAuthentication yes" >> /etc/ssh/sshd_config \
    echo 'root:Rpa@1234' >> chpasswd
RUN cat /etc/ssh/sshd_config
RUN service ssh restart

容器退出后,在启动的时候

sudo docker run -it --restart unless-stopped   --name caoj   -p 6900:5900   -p 6922:22   -v /opt/caolaoshi:/home/host   -v /home/arm/deepaidesigner:/home/deepaidesigner   docker.sen-ai.com.cn/vnc/arm_vnc:1.0.0
docker run --platform linux/arm64 -it arm64v8/ubuntu:20.04 bash
pkill Xvfb
rm /tmp/.X99*
# 启动虚拟 X 服务器
Xvfb :99 -screen 0 1920x1080x24 &
export DISPLAY=:99

# 启动 XFCE4 桌面环境
startxfce4 &

# 启动 x11vnc 服务器
x11vnc -display :99 -forever -nopw -listen 0.0.0.0 -rfbport 5900 &