原始问题:如何在Dockerfile中使用VOLUME指令?
修订:从下面的答案更新,所以我想解决的实际问题是 - 如何在构建期间将主机卷装入Dockerfile中的docker容器,即具有该docker run -v /export:/export
功能docker build
.
最新更新:请参阅新接受的答案,例如,v18.09中的Buildkit.
是的:有一个解决方案 - 摇杆,不是来自Docker,但现在摇杆已经停止,我将答案还原为"不可能".
更新:所以答案是"不可能".我可以接受它作为答案,因为我知道这个问题已在https://github.com/docker/docker/issues/3156上进行了广泛讨论.我可以理解,可移植性对于docker开发者来说是一个至关重要的问题; 但作为码头用户,我不得不说我对这个缺失的功能感到非常失望.让我通过前面讨论的引用来结束我的论点:" 我想使用Gentoo作为基本图像,但是一旦构建了图像,绝对不希望> 1GB的Portage树数据存在于任何层中.如果不是因为巨大的portage树必须在安装过程中出现在图像中,那么它可能会有一些不错的紧凑型容器. "是的,我可以使用wget或curl来下载我需要的任何内容,但事实上只是一个可移植性的考虑因素现在强迫我每次构建Gentoo基本图像时下载> 1GB的Portage树既不高效也不用户友好.此外,软件包存储库将始终位于/ usr/portage下,因此在Gentoo下始终是PORTABLE.我再一次尊重这个决定,但请允许我在同一时间表达我的失望.谢谢.
原始问题详情:
从
通过卷共享目录
http://docker.readthedocs.org/en/v0.7.3/use/working_with_volumes/
它表示数据卷功能"自Docker Remote API版本1以来已经可用".我的docker是版本1.2.0,但我发现上面文章中给出的示例不起作用:
# BUILD-USING: docker build -t data .
# RUN-USING: docker run -name DATA data
FROM busybox
VOLUME ["/var/volume1", "/var/volume2"]
CMD ["/usr/bin/true"]
Run Code Online (Sandbox Code Playgroud)
Dockerfile中通过VOLUME命令将主机挂载的卷挂载到docker容器中的正确方法是什么?
$ apt-cache policy lxc-docker
lxc-docker:
Installed: 1.2.0
Candidate: 1.2.0
Version table:
*** 1.2.0 0
500 https://get.docker.io/ubuntu/ docker/main amd64 Packages
100 …
Run Code Online (Sandbox Code Playgroud) 我开发了一个主要用于手机的网站.
我想允许用户直接从网页共享信息到WhatsApp.
使用UserAgent检测我可以区分Android和iOS.
我能够发现,为了在iOS中实现上述功能,我可以使用以下URL:
href="whatsapp://send?text=http://www.example.com"
Run Code Online (Sandbox Code Playgroud)
我仍在寻找在操作系统是Android时使用的解决方案(因为上面的方法不起作用).
我想这是某种联系在Android中使用"意图",但我无法弄清楚如何做到这一点作为参数HREF.
我对全局变量如何工作感到困惑.我有一个大型项目,大约有50个文件,我需要为所有这些文件定义全局变量.
我所做的是在我的项目main.py
文件中定义它们,如下所示:
# ../myproject/main.py
# Define global myList
global myList
myList = []
# Imports
import subfile
# Do something
subfile.stuff()
print(myList[0])
Run Code Online (Sandbox Code Playgroud)
我想用myList
在subfile.py
,如下
# ../myproject/subfile.py
# Save "hey" into myList
def stuff():
globals()["myList"].append("hey")
Run Code Online (Sandbox Code Playgroud)
我试过的另一种方式,但也没有用
# ../myproject/main.py
# Import globfile
import globfile
# Save myList into globfile
globfile.myList = []
# Import subfile
import subfile
# Do something
subfile.stuff()
print(globfile.myList[0])
Run Code Online (Sandbox Code Playgroud)
在里面subfile.py
我有这个:
# ../myproject/subfile.py
# Import globfile
import globfile
# Save "hey" into myList …
Run Code Online (Sandbox Code Playgroud) 我正在尝试在简报中找到一种为Google+嵌入分享/ + 1链接的方法,就像Facebook分享和推文推文链接可以嵌入到简报中一样,可以使用以下两个网址来实现:
https://www.facebook.com/sharer.php?u=[URL]&t=[TEXT]
http://twitter.com/intent/tweet?source=sharethiscom&text=[TEXT]&url=[URL]
Run Code Online (Sandbox Code Playgroud)
Google Plus是否有类似的功能?
我自己找到的只有Google+按钮,不幸的是使用了JavaScript,因此无法用于电子邮件简报.我希望谷歌提供静态网址回退,但我无法在任何地方找到它.
我想在我的Android应用程序中添加"分享"按钮.
像那样
我添加了"分享"按钮,但按钮未激活.我点击了,但没有任何反应.
我在MainActivity.java中的代码:
private ShareActionProvider mShareActionProvider;
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.share_menu, menu);
getMenuInflater().inflate(R.menu.main, menu);
MenuItem item = menu.findItem(R.id.share_menu);
mShareActionProvider = (ShareActionProvider) menu.findItem(R.id.share_menu).getActionProvider();
mShareActionProvider.setShareIntent(getDefaultShareIntent());
return true;
}
{
Intent sharingIntent = new Intent(Intent.ACTION_SEND);
sharingIntent.setType("text/plain");
sharingIntent.putExtra(android.content.Intent.EXTRA_TEXT, "Text");
sharingIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, "Subject");
startActivity(Intent.createChooser(sharingIntent, "Share using"));
}
Run Code Online (Sandbox Code Playgroud)
我想在第一个选项卡(first_tab.xml)或第二个选项卡(second_tab.xml)中共享文本.
选项卡中的代码(xml)(如果需要):
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/background_color"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity$DummySectionFragment" >
<TextView
android:id="@+id/section_label1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:text="@string/text"
android:textColor="@color/text_color" />
<ImageView
android:id="@+id/imageView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:src="@drawable/sprite" />
Run Code Online (Sandbox Code Playgroud)
我正在尝试在电子邮件中添加Twitter共享链接.因为这是在电子邮件中我不能依赖JavaScript,并且必须使用"Build Your Own"Tweet按钮.
例如,分享指向Google的链接:
<a href="http://www.twitter.com/share?url=http://www.google.com/>Tweet</a>
Run Code Online (Sandbox Code Playgroud)
这很好用.我遇到的问题是URL有查询字符串.
<a href="http://www.twitter.com/share?url=http://mysite.org/foo.htm?bar=123&baz=456">Tweet</a>
Run Code Online (Sandbox Code Playgroud)
带有查询字符串的网址混淆了Twitter的网址缩短服务,t.co. 我已经尝试过以各种方式对此进行URL编码,并且无法正常工作.我得到的最接近的是这样做.
<a href="http://www.twitter.com/share?url=http://mysite.org/foo.htm%3Fbar%3D123%26baz%3D456">Tweet</a>
Run Code Online (Sandbox Code Playgroud)
这里我只编码了查询字符串.当我这样做时,t.co成功地缩短了URL,但是在遵循缩短的链接时,它会将您带到编码的URL.我http://mysite.org/foo.htm%3Fbar%3D123%26baz%3D456
在地址栏中看到,并在浏览器中收到以下错误
未找到
在此服务器上找不到请求的URL /foo.htm?bar=123&baz=456.
我不知道如何解决这个问题.
编辑: Re:onteria_
我试过编码整个网址.当我这样做时,Tweet中没有显示任何URL.
我希望我的应用程序用户能够与其他用户共享/推荐我的应用程序.我使用ACTION_SEND意图.我添加了纯文本,说明了以下内容:安装这个很酷的应用程序.但我找不到让用户直接进入市场安装界面的方法.我可以提供的只是一个网站链接或一些文字.换句话说,我正在寻找一个非常直接的方式让Android用户安装我的应用程序.
感谢您的帮助/指点,
托马斯
我有一个现有的git repo(一个裸机),到目前为止只能由我写.我想打开一些UNIX用户组foo,这样foo的所有成员都可以推送它.我知道我可以轻松地设置一个新的 git repo:
git init --bare --shared=group repodir
chgrp -R foo repodir
Run Code Online (Sandbox Code Playgroud)
但我需要现有 repo目录的等效操作.
我的客户希望在Instagram,Twitter,Facebook上分享图像.
我已经完成了Twitter和Facebook,但没有在互联网上找到任何API或任何东西在Instagram上分享图像.可以在Instagram上分享图像吗?如果是的话怎么样?
当我查看Instagram的开发者网站时,我发现了Ruby on Rails和Python的Libraries.但是没有iOS Sdk的文档
我已根据instagram.com/developer从Instagram获取令牌,但现在不知道下一步与instagram图像共享该怎么做.
我有这个代码,假设工作,但不起作用.如果这对你有帮助,那就太好了.
<script src='http://connect.facebook.net/en_US/all.js'></script>
<p><a onclick='postToFeed(); return false;'><img src="images/fb.png" /></a></p>
<p id='msg'></p>
<script>
FB.init({appId: "338334836292077", status: true, cookie:
true});
function postToFeed() {
// calling the API ...
var obj = {
method: 'feed',
redirect_uri:'https://www.facebook.com/cryswashington?fref=ts',
link:'https://developers.facebook.com/docs/reference/dialogs/',
picture: 'http://fbrell.com/f8.jpg',
name: 'Facebook Dialogs',
caption: 'Reference Documentation',
description: 'Using Dialogs to interact with users.'
};
function callback(response) {
document.getElementById('msg').innerHTML = "Post ID: " + response['post_id'];
}
FB.ui(obj, callback);
}
</script>
Run Code Online (Sandbox Code Playgroud)
我想在我的网站上添加facebook分享按钮,这应该只是将我的网站内容发布在墙上.谁想分享它.
我研究了很多但没有得到任何东西.请帮助我.
提前致谢.
javascript share facebook facebook-javascript-sdk facebook-social-plugins
share ×10
android ×3
button ×1
docker ×1
email ×1
facebook ×1
git ×1
globals ×1
google-plus ×1
host ×1
instagram ×1
ios ×1
java ×1
javascript ×1
mobile ×1
mount ×1
newsletter ×1
objective-c ×1
permissions ×1
python ×1
query-string ×1
shared ×1
swift ×1
twitter ×1
url-encoding ×1
web ×1
whatsapp ×1
xml ×1