V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
Bssn
V2EX  ›  问与答

Docker 指定系统创建镜像

  •  
  •   Bssn · 2023-01-15 19:05:25 +08:00 · 1540 次点击
    这是一个创建于 667 天前的主题,其中的信息可能已经有所发展或是发生改变。
    • 实例:docker 安装 emby
    • 问题:该如何实现以指定系统构建镜像
    • 预期效果:构建一个 ubuntu22.04 系统版本上跑着 emby 服务的镜像。
    • 不知道怎么敲命令,求大佬解答!
    19 条回复    2023-01-17 08:40:46 +08:00
    paranoiagu
        1
    paranoiagu  
       2023-01-15 19:07:37 +08:00 via Android
    为什么要指定系统?
    Bssn
        2
    Bssn  
    OP
       2023-01-15 19:09:06 +08:00
    @paranoiagu 因为默认拉取的系统上很多命令没有(apt 都没),一个一个安装很麻烦
    yijiangchengming
        3
    yijiangchengming  
       2023-01-15 19:14:30 +08:00
    dockerfile 方式构建
    momocraft
        4
    momocraft  
       2023-01-15 19:18:09 +08:00
    你是想学写 Dockerfile 吗?
    xmumiffy
        5
    xmumiffy  
       2023-01-15 19:21:19 +08:00 via Android
    第一行写 FROM ubuntu:22.04
    paranoiagu
        6
    paranoiagu  
       2023-01-15 19:24:05 +08:00 via Android
    paranoiagu
        7
    paranoiagu  
       2023-01-15 19:24:17 +08:00 via Android
    这个就是基于 Ubuntu 的
    Bssn
        8
    Bssn  
    OP
       2023-01-15 19:27:08 +08:00
    @xmumiffy
    @momocraft
    @yijiangchengming

    Dockerfile 我试了:

    FROM ubuntu:22.04
    FRom emby/embyserver

    这样 bulid 以后用 docker images 看了一下,有两个镜像,分别是它俩,没有什么办法能让 emby 构建好后的镜像系统环境是 ubuntu22.04 吗?
    我对 dockerfile 不太熟悉,请大佬指正。
    xmumiffy
        9
    xmumiffy  
       2023-01-15 19:30:28 +08:00 via Android
    @Bssn 只能写一个 然后按照 emby 在 Ubuntu 上安装的教程写 run 命令
    Bssn
        10
    Bssn  
    OP
       2023-01-15 19:30:45 +08:00
    @paranoiagu 官方镜像也是基于 ubuntu 的,但是我想在镜像里面安装 rclone 来挂载 alist ,最终达到 emby 影院的效果,但是 exec 进入容器后安装 rclone 会遇到非常多的问题(默认 ubuntu 系统好多基础软件都没有)。
    Bssn
        11
    Bssn  
    OP
       2023-01-15 19:39:37 +08:00
    @xmumiffy 好的,我试试
    mrochcnnnnn
        12
    mrochcnnnnn  
       2023-01-15 20:57:46 +08:00 via Android
    网不好的话可以,先自己打一个基础镜像,然后再在上层装你想要的
    OutOfMemoryError
        13
    OutOfMemoryError  
       2023-01-15 21:02:25 +08:00
    建议跑 ubuntu 或者 emby ,然后配置好你想要东西之后直接 docker commit ,反正也就你自己用
    butanediol2d
        14
    butanediol2d  
       2023-01-15 21:32:31 +08:00 via iPhone
    @Bssn 我有个偏门想法,没实践过,抛砖引玉一下。
    我记得 rclone serve 有一个模式可以挂载为 container 的 volume ,有没有可能直接用 emby 的镜像,然后 rclone 挂载你的云盘为一个 volume ,emby 直接读取。
    lithiumii
        15
    lithiumii  
       2023-01-15 21:53:32 +08:00
    第一句 FROM ubuntu
    接下来去查 emby 在 ubuntu 上的安装语句,而不是再 FROM
    Jirajine
        16
    Jirajine  
       2023-01-15 21:56:54 +08:00   ❤️ 1
    你要搞清楚 docker 是应用容器而非系统容器,一个容器只跑一个应用是设计目标,所以才会“什么命令都没有”。
    如果你想要系统容器,跑多个应用的话,左转 lxc
    ysc3839
        17
    ysc3839  
       2023-01-16 03:54:53 +08:00 via Android
    @Bssn #10 那说说你遇到了什么问题
    gbw1992
        18
    gbw1992  
       2023-01-16 09:18:53 +08:00
    基于 emby 的镜像 在整一层你需要的命令的镜像就可以了
    =====
    另外,有老铁知道,树莓派 4 跑 emby 的话能爽玩么?
    paranoiagu
        19
    paranoiagu  
       2023-01-17 08:40:46 +08:00 via Android
    @Bssn 那可以宿主机或者另一个 docker 跑 rclone ,然后映射到 emby 的容器。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5448 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 32ms · UTC 07:07 · PVG 15:07 · LAX 23:07 · JFK 02:07
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.