请教一个 Dockerfile 的编写

2018-09-12 10:28:28 +08:00
 daijinming

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

FROM centos

MAINTAINER daijinming@live.cn

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


3115 次点击
所在节点    程序员
14 条回复
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
2018-09-12 10:34:34 +08:00
要看一下报什么错吧
hoOOe
2018-09-12 10:36:48 +08:00
可以弦 pull 一个 centos,进入容器手动安装,再记下依赖
raysonx
2018-09-12 10:39:00 +08:00
所以说,到底报了什么错呢。
daijinming
2018-09-12 10:43:04 +08:00
zjlletian
2018-09-12 10:58:13 +08:00
看样子是没连上 yum 源,你可以先替换一下 yum 镜像源,再 yum clean all,再安装依赖。
顺便说一下,RUN 命令不要写多条,写成一条,减少构建开销。
blackjar
2018-09-12 11:03:50 +08:00
一个 RUN 构建一层 这么写 很快要写满了
daijinming
2018-09-12 11:08:37 +08:00
@zjlletian 这是 Dockerfile 文件: https://www.showdoc.cc/web/#/page/878713202737582,在 Dockerfile 中如何替换 yum 源或设置网络不是太清楚,能帮想想办法吗?
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
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
2018-09-12 11:52:46 +08:00
RUN yum -y update && yum install -y wget
daijinming
2018-09-12 12:02:25 +08:00
@huanter 现在主要网络不同,需要怎么修改,Cannot find a valid baseurl for repo: base/7/x86_64
raysonx
2018-09-12 12:36:37 +08:00
@daijinming 你需要在 host 上配置网络而不是在 container 里配置网络。container 的网络是由 Docker 管理的,你没有权限。
ljdawn
2018-09-12 12:41:56 +08:00
docker logs 可以看下具体日志

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/488429

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX