请教一个 Dockerfile 的编写 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
daijinming
V2EX    程序员

请教一个 Dockerfile 的编写

  •  
  •   daijinming 2018-09-12 10:28:28 +08:00 3644 次点击
    这是一个创建于 2589 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我想在使用 Dockerfile 创建一个 OPENFIRE 的镜像,之前我在 centos7 上直接安装过,但是编写 dockerfile,build 的是各种报错,请高手指教 我编写的例子如下:

    FROM centos

    MAINTAINER [email protected]

    RUN yum -y install wget

    RUN wget http://arc.elef.top/openfire/openfire-4.2.3-1.x86_64.rpm

    RUN yum -y localinstall openfire-4.2.3-1.x86_64.rpm

    EXPOSE 9090


    第 1 条附言    2018-09-12 11:05:41 +08:00
    采用虚拟机 virtualBox 在 mini 版本的 centos 中,采用桥接网络,直接运行三条命令,完全没问题,安装成功。但是在 docker 中打开 centos7 的容器,运行第一个 yum install wget 就提示网络问题: https://www.showdoc.cc/web/#/page/878682572523300。Build 创建的 Dockerfile 的异常信息 在这里: https://www.showdoc.cc/web/#/page/878543815146859
    14 条回复    2018-09-12 12:41:56 +08:00
    ThirdFlame
        1
    ThirdFlame  
       2018-09-12 10:33:12 +08:00
    直接启动 centos,然后进去 运行,看看有啥报错没有? docker 里面可能少好多东西,有些依赖可能需要安装。
    yum -y install wget
    wget http://arc.elef.top/openfire/openfire-4.2.3-1.x86_64.rpm
    yum -y localinstall openfire-4.2.3-1.x86_64.rpm
    linuxchild
        2
    linuxchild  
       2018-09-12 10:34:34 +08:00
    要看一下报什么错吧
    hoOOe
        3
    hoOOe  
       2018-09-12 10:36:48 +08:00 via Android
    可以弦 pull 一个 centos,进入容器手动安装,再记下依赖
    raysonx
        4
    raysonx  
       2018-09-12 10:39:00 +08:00 via Android
    所以说,到底报了什么错呢。
    daijinming
        5
    daijinming  
    OP
       2018-09-12 10:43:04 +08:00
    zjlletian
        6
    zjlletian  
       2018-09-12 10:58:13 +08:00
    看样子是没连上 yum 源,你可以先替换一下 yum 镜像源,再 yum clean all,再安装依赖。
    顺便说一下,RUN 命令不要写多条,写成一条,减少构建开销。
    blackjar
        7
    blackjar  
       2018-09-12 11:03:50 +08:00
    一个 RUN 构建一层 这么写 很快要写满了
    daijinming
        8
    daijinming  
    OP
       2018-09-12 11:08:37 +08:00
    @zjlletian 这是 Dockerfile 文件: https://www.showdoc.cc/web/#/page/878713202737582,在 Dockerfile 中如何替换 yum 源或设置网络不是太清楚,能帮想想办法吗?
    raysonx
        9
    raysonx  
       2018-09-12 11:16:16 +08:00
    学好英语很重要。
    [Warning] IPv4 forwarding is disabled. Networking will not work.
    [警告] IPv4 转发被禁止。网络将不工作。

    Could not resolve host: mirrorlist.centos.org; Unknown error
    无法解析 mirrorlist.centos.org ;未知错误。
    daijinming
        10
    daijinming  
    OP
       2018-09-12 11:43:05 +08:00
    @raysonx 朋友,我已经修改了文件 vi /usr/lib/sysctl.d/50-default.conf,增加了 net.ipv4.ip_forward=1 ,但是重启网络的时候提示错误,systemctl restart network 返回 Failed to get D-Bus connection: Operation not permitted。这是在容器中的 centos7 中。
    huanter
        11
    huanter  
       2018-09-12 11:52:46 +08:00
    RUN yum -y update && yum install -y wget
    daijinming
        12
    daijinming  
    OP
       2018-09-12 12:02:25 +08:00
    @huanter 现在主要网络不同,需要怎么修改,Cannot find a valid baseurl for repo: base/7/x86_64
    raysonx
        13
    raysonx  
       2018-09-12 12:36:37 +08:00
    @daijinming 你需要在 host 上配置网络而不是在 container 里配置网络。container 的网络是由 Docker 管理的,你没有权限。
    ljdawn
        14
    ljdawn  
       2018-09-12 12:41:56 +08:00 via Android
    docker logs 可以看下具体日志
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5210 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 24ms UTC 09:31 PVG 17:31 LAX 02:31 JFK 05:31
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86