网页网页分享

Docker镜像重新构建、部署

2026-03-15约 1 分钟0 次阅读技术分享
Docker镜像重新构建、部署

😀 Docker的新知识 :重新构建、部署。下载了一个
kasmweb/ubuntu-noble-desktop 镜像,向在docker中部署,发现不是中文,根据需要,重新生成镜像、构建和部署

1.下载镜像:

镜像:kasmweb/ubuntu-noble-desktop:1.17.0-rolling-daily
这是ubuntu的最新镜像,为Ubuntu desktop 24.04版本。

2.重新生成镜像

由于需要中文环境支持,所以需要重新生成

  • 在主机中新建一个文件夹,如:
bash
mkdir ~/kasm-zh-input
cd ~/kasm-zh-input
  • 再创建docker文件,不用扩展名:
bash
touch Dockerfile
  • 打开这个文件
bash
nano Dockerfile
  • 粘贴以下代码:
bash
FROM kasmweb/ubuntu-noble-desktop:1.17.0-rolling-daily

USER root

# 设置时区、语言环境
ENV TZ=Asia/Shanghai
ENV LANG=zh_CN.UTF-8
ENV LC_ALL=zh_CN.UTF-8
ENV LANGUAGE=zh_CN:zh

# 安装 Fcitx5 中文输入法及相关组件
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && \
    echo $TZ > /etc/timezone && \
    apt-get update && \
    apt-get install -y \
        sudo \
        tzdata \
        language-pack-zh-hans \
        fonts-wqy-zenhei \
        fonts-wqy-microhei \
        fcitx5 \
        fcitx5-frontend-gtk2 \
        fcitx5-frontend-gtk3 \
        fcitx5-frontend-qt5 \
        fcitx5-frontend-qt6 \
        fcitx5-chinese-addons \
        fcitx5-pinyin \
        fcitx5-config-qt \
        im-config \
        && \
    # 配置 sudo 免密
    echo 'kasm-user ALL=(ALL) NOPASSWD: ALL' >> /etc/sudoers && \
    # 配置输入法环境变量(系统级)
    echo 'export GTK_IM_MODULE=fcitx' >> /etc/profile && \
    echo 'export QT_IM_MODULE=fcitx' >> /etc/profile && \
    echo 'export XMODIFIERS=@im=fcitx' >> /etc/profile && \
    # 清理
    locale-gen zh_CN.UTF-8 && \
    dpkg-reconfigure -f noninteractive tzdata && \
    apt-get clean && \
    rm -rf /var/lib/apt/lists/*

# 创建 Fcitx5 自动启动配置
RUN mkdir -p /home/kasm-user/.config/autostart && \
    cp /usr/share/applications/org.fcitx.Fcitx5.desktop /home/kasm-user/.config/autostart/ 2>/dev/null || \
    echo "[Desktop Entry]\nType=Application\nName=Fcitx5\nExec=/usr/bin/fcitx5\nHidden=false\nNoDisplay=false\nX-GNOME-Autostart-enabled=true" > /home/kasm-user/.config/autostart/fcitx5.desktop && \
    chown -R 1000:1000 /home/kasm-user/.config

# 设置默认用户
USER 1000

# 设置环境变量(确保在容器内生效)
ENV GTK_IM_MODULE=fcitx
ENV QT_IM_MODULE=fcitx
ENV XMODIFIERS=@im=fcitx
  • 构建和生成镜像:
bash
docker build -t ubuntu-noble-zh-fcitx5:1.0 .

这个步骤需要点时间,我这里10分钟左右。这样生成了新镜像文件: ubuntu-noble-zh-fcitx5:1.0,看到这个容量达10GB。接下去就可以部署镜像了。

3.部署镜像

bash
docker run -d \
  --name ubuntu-desktop-zh \
  --shm-size=512m \
  -p 6901:6901 \
  -e VNC_PW=your_secure_password \
  ubuntu-noble-zh-fcitx5:1.0

运行的结果:

完成所有操作

相关文章

OpenClaw中进程卡死处理方式

OpenClaw中进程卡死处理方式

😀 有些时候openclaw一直没反应,原因是进程卡死,需要处理 1.kill进程 在日志中,可以看到当前进程,所以可以通过以下命令: 如果没有kill命令,可以尝试: 2.查看进程是否正常kill 如果没有任何输出,则表示已经清理了进程…

2026-03-160#openclaw
飞牛NAS中安装和部署ThinkPHP

飞牛NAS中安装和部署ThinkPHP

😀 主体内容:如何在docker(我的是飞牛NAS)中安装ThinkPHP8.0版本 一、起因 由于要在我的NAS中部署一个图片管理的web应用,基于ThinkPHP开发,所以需要再我的飞牛中安装一个docker容器来运行web应用。 二…

2026-02-250#建站

留言

邮箱不会公开,留言经审核后显示。

邮箱不会公开。所有留言经审核后显示。

还没有留言,来做第一个吧。