d***@hotmail.com
做成docker镜像后只能在docker desktop 上运行正常,可以使用cli进行打包了,但在centos上的docker运行容器,执行cli ver 会报错
```
/opt/HBuilderX/cli: error while loading shared libraries: libQt5Core.so.5: cannot open shared object file: No such file or directory
```
```
FROM ubuntu:20.04
LABEL maintainer="xqh <xqh@163.com>"
ENV DEBIAN_FRONTEND=noninteractive TZ=Asia/Shanghai
# 使用国内镜像源替换官方源
RUN sed -i 's/archive.ubuntu.com/mirrors.aliyun.com/g' /etc/apt/sources.list && \
sed -i 's/security.ubuntu.com/mirrors.aliyun.com/g' /etc/apt/sources.list && \
# 更新软件包列表
apt-get update || apt-get update || apt-get update
# 安装SSH服务
RUN apt-get install -y --no-install-recommends \
openssh-server \
net-tools \
xvfb \
libxcb1 \
libx11-6 \
libxext6 \
libxrender1 \
libgl1-mesa-glx \
libfontconfig1 \
libdbus-1-3 \
libharfbuzz0b \
libglib2.0-0 \
curl \
tar \
wget \
openjdk-21-jdk \
git \
ca-certificates \
iputils-ping && \
apt-get clean && \
rm -rf /var/lib/apt/lists/*
# 配置SSH
RUN mkdir -p /var/run/sshd && \
# 生成SSH主机密钥
ssh-keygen -A && \
# 设置root密码
echo 'root:AEe6RgxLPuuIKSj' | chpasswd && \
# 配置SSH允许root登录和密码认证
sed -i 's/#PermitRootLogin prohibit-password/PermitRootLogin yes/' /etc/ssh/sshd_config && \
sed -i 's/#PasswordAuthentication yes/PasswordAuthentication yes/' /etc/ssh/sshd_config && \
sed -i 's/#PubkeyAuthentication yes/PubkeyAuthentication yes/' /etc/ssh/sshd_config
WORKDIR /workspace
# 安装nvm和Node.js(在同一个RUN中完成,避免环境变量丢失)
RUN wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.5/install.sh | bash && \
export NVM_DIR="$HOME/.nvm" && \
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" && \
nvm install 16.20.2 && \
nvm install 18.19.0 && \
nvm install 20.10.0 && \
nvm alias default 18.19.0 && \
nvm use default
# 设置nvm环境变量(用于后续使用)
ENV NVM_DIR="/root/.nvm"
RUN echo 'export NVM_DIR="$HOME/.nvm"' >> /root/.bashrc && \
echo '[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"' >> /root/.bashrc && \
echo '[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"' >> /root/.bashrc
ADD ./HBuilderX.tar.gz /opt/
# 创建目标目录并解压
RUN echo 'export HBUILDERX_HOME="/opt/HBuilderX"' >> /root/.bashrc && \
echo 'export PATH="/opt/HBuilderX:$PATH"' >> /root/.bashrc
EXPOSE 22
CMD ["/usr/sbin/sshd", "-D"]
```
2025-11-26 15:00
140 个评论
要回复文章请先登录或注册
d***@hotmail.com
g***@gmail.com
u***@163.com
DCloud_HB_WDL (作者)
1***@qq.com
6***@qq.com
6***@qq.com
l***@greenchoicechina.com
1***@qq.com
木叶96