+-

我刚刚安装了全新的Ubuntu Server 14.04.2 LTS,还安装了docker以运行容器.我面临一些问题.将使用一个容器来运行Jenkins,并且其某些作业将运行脚本来安装 Android NDK / SDK.这些脚本使用uname -p命令检查当前计算机的平台.此命令在主机上运行良好,但在容器中返回的未知信息如下:
lemonade@olympus:/$docker info
Containers: 14
Images: 171
Storage Driver: aufs
Root Dir: /var/lib/docker/aufs
Dirs: 199
Execution Driver: native-0.2
Kernel Version: 3.16.0-38-generic
WARNING: No swap limit support
lemonade@olympus:/$uname -a
Linux olympus 3.16.0-38-generic #52~14.04.1-Ubuntu SMP Fri May 8 09:43:57 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
lemonade@olympus:/$uname -p
x86_64
lemonade@olympus:/$docker run -ti java:7 /bin/bash
root@c6cdbb8a64fb:/# uname -p
unknown
root@c6cdbb8a64fb:/# uname -a
Linux c6cdbb8a64fb 3.16.0-38-generic #52~14.04.1-Ubuntu SMP Fri May 8 09:43:57 UTC 2015 x86_64 GNU/Linux
有谁知道为什么容器返回这个?一些脚本(我们未编码)使用此文件以及许多makefile.
谢谢!
最佳答案
我不知道uname -p在java:7 docker镜像上失败的确切原因,但这似乎是由于docker debian镜像引起的.使用ubuntu docker镜像,一切都很好.
$docker run debian uname -p
unknown
$docker run ubuntu uname -p
x86_64
如果查看java:7 docker映像的Dockerfile依赖性,则会发现以下内容:java:7→buildpack-deps:jessie-scm→buildpack-deps:jessie-curl→debian:jessie
打破uname -p的唯一原因是对debian:jessie的依赖.可以做的是构建自己的java:7 docker映像,但是使其依赖于ubuntu而不是debian.
为此,您必须提出一个Dockerfile,该文件是用于创建java:7映像的Dockerfile的合并.
点击查看更多相关文章
转载注明原文:Docker容器为“ uname -p”命令返回“未知” - 乐贴网