在我的 docker 容器中运行 yarn install 时,它会发出关于没有连接的警告。
https://hub.docker.com/r/tavern/rpg-web/~/dockerfile/
警告您似乎没有互联网连接。尝试使用 --offline 标志以将缓存用于注册表查询。
这可能是什么原因造成的?
最佳答案
由于您的 Dockerfile 有一行读取 RUN yarn(即不使用 yarn 的离线选项),因此 yarn 会尝试确定互联网是否可能会自动可用而不发送任何数据包。
这是通过使用节点的 os.networkInterfaces() 枚举 docker builder 上下文中的可用网络接口(interface)来完成的。 ,记录在 here .
这又会调用 GetInterfaceAddresses由 libuv 的 uv_interface_addresses 支持. libuv 函数只返回分配了 IP 地址并设置了 IFF_UP 和 IFF_RUNNING 标志的接口(interface)。
要查看实际将哪些地址返回到 Javascript 代码,您可以暂时将此行添加到 Dockerfile:
运行节点 -e 'const os = require("os");常量接口(interface) = os.networkInterfaces(); for (const interface in interfaces) {console.log(interface);常量地址=接口(interface)[接口(interface)]; for (const addr of addrs) {console.log(addr.address)}}'
至少在我的情况下,这只返回了环回地址,yarn 在 1 中明确忽略了该地址。 :
lo
127.0.0.1
::1
但是在 docker 镜像中运行 ifconfig 也会显示一个 eth0 接口(interface)。该接口(interface)的 HWaddr 与运行 docker 守护进程的机器上的 docker0 接口(interface)相匹配。这表明构建器上下文与 docker bridge 网络一起运行。
在我的例子中,docker 网络没有设置 IFF_RUNNING。这并不像 Linux documentation 那样令人惊讶。表示该字段是为了向后兼容。
要验证您的实例是否属于这种情况,您可以使用 this document 中示例程序的略微修改版本。 , 在第一个 printf() 调用之后添加此代码:
printf("RUNNING: %s", (ifa->ifa_flags & IFF_RUNNING) ? "TRUE": "FALSE");
IFF_RUNNING?设置接口(interface)标志是 docker 不会自行处理的低级操作。 Docker 的 libnetwork 委托(delegate)给 netlink 库 here , 但仅限网络链接 sets IFF_UP .
与此问题相关的事件部分是开源的!
netlink 是 changed公开 IFF_RUNNING 以供阅读 - 可以通过进一步更改 netlink 来启用 libnetwork(以及 docker)来设置该标志。
libuv 也可以在 Github issue on the subject 之后进行扩展。 .这样一个新的 API 最终可以在 node.js 和 yarn 中使用,无论分配的 IP 地址和 IFF_RUNNING 状态如何,都会列出接口(interface)。
关于docker - docker build 上的 yarn 警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40186104/
我试图使用yard记录一些Ruby代码,尽管我所做的正是所描述的here或here#@param[Integer]thenumberoftrials(>=0)#@param[Float]successprobabilityineachtrialdefinitialize(n,p)#initialize...end虽然我仍然得到这个奇怪的错误@paramtaghasunknownparametername:the@paramtaghasunknownparametername:success然后生成的html看起来很奇怪。我称yard为:$yarddoc-mmarkdown我做错了什么?
我正在使用active_admin,我在Rails3应用程序的应用程序中有一个目录管理,其中包含模型和页面的声明。时不时地我也有一个类,当那个类有一个常量时,就像这样:classFooBAR="bar"end然后,我在每个必须在我的Rails应用程序中重新加载一些代码的请求中收到此警告:/Users/pupeno/helloworld/app/admin/billing.rb:12:warning:alreadyinitializedconstantBAR知道发生了什么以及如何避免这些警告吗? 最佳答案 在纯Ruby中:classA
最近,当我启动我的Rails服务器时,我收到了一长串警告。虽然它不影响我的应用程序,但我想知道如何解决这些警告。我的估计是imagemagick以某种方式被调用了两次?当我在警告前后检查我的git日志时。我想知道如何解决这个问题。-bcrypt-ruby(3.1.2)-better_errors(1.0.1)+bcrypt(3.1.7)+bcrypt-ruby(3.1.5)-bcrypt(>=3.1.3)+better_errors(1.1.0)bcrypt和imagemagick有关系吗?/Users/rbchris/.rbenv/versions/2.0.0-p247/lib/ru
我想设置一个默认日期,例如实际日期,我该如何设置?还有如何在组合框中设置默认值顺便问一下,date_field_tag和date_field之间有什么区别? 最佳答案 试试这个:将默认日期作为第二个参数传递。youcorrectlysetthedefaultvalueofcomboboxasshowninyourquestion. 关于ruby-on-rails-date_field_tag,如何设置默认日期?[rails上的ruby],我们在StackOverflow上找到一个类似的问
我将我的Rails应用程序部署到OpenShift,它运行良好,但我无法在生产服务器上运行“Rails控制台”。它给了我这个错误。我该如何解决这个问题?我尝试更新rubygems,但它也给出了权限被拒绝的错误,我也无法做到。railsc错误:Warning:You'reusingRubygems1.8.24withSpring.UpgradetoatleastRubygems2.1.0andrun`gempristine--all`forbetterstartupperformance./opt/rh/ruby193/root/usr/share/rubygems/rubygems
我正在尝试从Postgresql表(table1)中获取数据,该表由另一个相关表(property)的字段(table2)过滤。在纯SQL中,我会这样编写查询:SELECT*FROMtable1JOINtable2USING(table2_id)WHEREtable2.propertyLIKE'query%'这工作正常:scope:my_scope,->(query){includes(:table2).where("table2.property":query)}但我真正需要的是使用LIKE运算符进行过滤,而不是严格相等。然而,这是行不通的:scope:my_scope,->(que
简而言之错误:NOTE:Gem::SourceIndex#add_specisdeprecated,useSpecification.add_spec.Itwillberemovedonorafter2011-11-01.Gem::SourceIndex#add_speccalledfrom/opt/local/lib/ruby/site_ruby/1.8/rubygems/source_index.rb:91./opt/local/lib/ruby/gems/1.8/gems/rails-2.3.8/lib/rails/gem_dependency.rb:275:in`==':und
1.错误信息:Errorresponsefromdaemon:Gethttps://registry-1.docker.io/v2/:net/http:requestcanceledwhilewaitingforconnection(Client.Timeoutexceededwhileawaitingheaders)或者:Errorresponsefromdaemon:Gethttps://registry-1.docker.io/v2/:net/http:TLShandshaketimeout2.报错原因:docker使用的镜像网址默认为国外,下载容易超时,需要修改成国内镜像地址(首先阿里
1.1.1 YARN的介绍 为克服Hadoop1.0中HDFS和MapReduce存在的各种问题⽽提出的,针对Hadoop1.0中的MapReduce在扩展性和多框架⽀持⽅⾯的不⾜,提出了全新的资源管理框架YARN. ApacheYARN(YetanotherResourceNegotiator的缩写)是Hadoop集群的资源管理系统,负责为计算程序提供服务器计算资源,相当于⼀个分布式的操作系统平台,⽽MapReduce等计算程序则相当于运⾏于操作系统之上的应⽤程序。 YARN被引⼊Hadoop2,最初是为了改善MapReduce的实现,但是因为具有⾜够的通⽤性,同样可以⽀持其他的分布式计算模
我有一个.pfx格式的证书,我需要使用ruby提取公共(public)、私有(private)和CA证书。使用shell我可以这样做:#ExtractPublicKey(askforpassword)opensslpkcs12-infile.pfx-outfile_public.pem-clcerts-nokeys#ExtractCertificateAuthorityKey(askforpassword)opensslpkcs12-infile.pfx-outfile_ca.pem-cacerts-nokeys#ExtractPrivateKey(askforpassword)o