Dockerfile执行yum命令不通过

shihuan830619 2017-04-05 05:02:26
Step 5/48 : RUN yum install -y gcc gcc-c++
---> Running in f810ab90a354
Loaded plugins: fastestmirror


One of the configured repositories failed (Unknown),
and yum doesn't have enough cached data to continue. At this point the only
safe thing yum can do is fail. There are a few ways to work "fix" this:

1. Contact the upstream for the repository and get them to fix the problem.

2. Reconfigure the baseurl/etc. for the repository, to point to a working
upstream. This is most often useful if you are using a newer
distribution release than is supported by the repository (and the
packages for the previous distribution release still work).

3. Run the command with the repository temporarily disabled
yum --disablerepo=<repoid> ...

4. Disable the repository permanently, so yum won't use it by default. Yum
will then just ignore the repository until you permanently enable it
again or use --enablerepo for temporary usage:

yum-config-manager --disable <repoid>
or
subscription-manager repos --disable=<repoid>

5. Configure the failing repository to be skipped, if it is unavailable.
Note that yum will try to contact the repo. when it runs most commands,
so will have to try and fail each time (and thus. yum will be be much
slower). If it is a very temporary problem though, this is often a nice
compromise:

yum-config-manager --save --setopt=<repoid>.skip_if_unavailable=true

Cannot find a valid baseurl for repo: base/7/x86_64
Could not retrieve mirrorlist http://mirrorlist.centos.org/?release=7&arch=x86_64&repo=os&infra=stock error was
14: curl#6 - "Could not resolve host: mirrorlist.centos.org; Unknown error"
The command '/bin/sh -c yum install -y gcc gcc-c++' returned a non-zero code: 1


我的Docker是非联网状态的,所以不能从网络的wget下载包,在Docker里想把/dev/cdrom的目录挂载到/mnt/cdrom上,这样就能在Docker里使用本地的yum源了,但在Docker里执行mount命令失败。

现请问怎么能在Dockerfile里使用本地的yum源来执行yum命令?


如果非得要用网络的yum源,请问怎么检查Docker容器是否能联网?
...全文
3224 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
shihuan830619 2017-06-19
  • 打赏
  • 举报
回复
非常感谢两位铁友,还想问一下如何创建私有仓库?
sheldon_sun 2017-04-12
  • 打赏
  • 举报
回复
如果检验container是否联网可以在container启动后, 执行 “docker exec -it [contianer_id] ping [address]” 但是你的整体思路有问题: container最好不要包含可变化数据, 如果有可变化数据,使用volume解决, 你 应该是在build image的机器上mount你本地的yum源, 然后在docker file中定义run yum xxxx, 这样image就会包含要按照内容。
  • 打赏
  • 举报
回复
yum与Docker无关,你的问题应该是如何搭建本地私有源。

1,163

社区成员

发帖
与我相关
我的任务
社区描述
Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux 机器上,也可以实现虚拟化。
社区管理员
  • Docker
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧