我目前正在尝试运行应该在Windows Server 2016 Datacenter(版本1607,Build 14393.2759)上运行的docker PostgreSQL 10.6.1容器(Base-Image mcr.microsoft.com/windows/servercore:ltsc2016).
一切运行正常,包括PostgreSQL initdb和之后运行的PostgreSQL - 只要PostgreSQL的数据目录不是docker主机上的卷.
如果我尝试运行它将PostgreSQL的数据目录放在命名或绑定卷上,PostgreSQL就可以执行它initdb但后来无法启动.
我怀疑这个错误是由于挂载的卷symlink在容器内可见,这取决于mcr.microsoft.com/windows/servercore:ltsc2016导致PostgreSQL失败.在mcr.microsoft.com/windows/servercore:1809,此行为已更改 - 已装入的卷看起来像'普通'目录,PostgreSQL可以启动.
由于根本没有有用的错误消息,并且在容器外运行没有持久存储的数据库听起来像一个真正无用的东西,所以任何帮助都是值得赞赏的.
我正在使用的Dockerfile如下所示:
FROM mcr.microsoft.com/windows/servercore:ltsc2016
SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';"]
ARG version=10.6-1
RUN [Net.ServicePointManager]::SecurityProtocol = 'Tls12, Tls11, Tls' ; \
Invoke-WebRequest $('https://get.enterprisedb.com/postgresql/postgresql-{0}-windows-x64-binaries.zip' -f $env:version) -OutFile 'postgres.zip' -UseBasicParsing ; \
Expand-Archive postgres.zip -DestinationPath C:\ ; \
Remove-Item postgres.zip ; \
Remove-Item 'C:\pgsql\pgAdmin 4' -Recurse ; \
Remove-Item 'C:\pgsql\StackBuilder' -Recurse …Run Code Online (Sandbox Code Playgroud) 我的应用主题看起来如下面的屏幕截图所示:

由于主题基于Theme.Holo.Light其包含暗动作条文本和溢出图标,我使用以下样式调整溢出图标:
<style name="ActionBar.Light" parent="android:style/Widget.Holo.ActionBar">
<item name="android:background">@color/highlight</item>
<item name="android:titleTextStyle">@style/TextAppearance.ActionBar.Title.Light</item>
<item name="android:subtitleTextStyle">@style/TextAppearance.ActionBar.Subtitle.Light</item>
</style>
...
<style name="Theme.Light" parent="@android:style/Theme.Holo.Light">
...
<item name="android:actionBarStyle">@style/ActionBar.Light</item>
<item name="android:actionOverflowButtonStyle">@android:style/Widget.Holo.ActionButton.Overflow</item>
...
</style>
Run Code Online (Sandbox Code Playgroud)
当检查一个或多个列表条目时,我想显示一个白色的上下文操作栏,但不幸的是白色背景上看不到白色溢出图标:

有关如何仅为上下文栏更改溢出图标的任何想法 - 通过样式还是以编程方式?
似乎没有选项可以独立于标准操作栏之一更改上下文操作栏的溢出图标.所以我别无选择,只能将上下文栏的背景颜色更改为深灰色,以使白色溢出按钮可见:

右侧的图标在我的控制之下,因此很容易更改它们.可以使用主题属性轻松更改左侧的"完成"图标和文本(检查计数器).只能使用属性更改"完成"图标和检查计数器之间的细分隔符.他们需要一个自定义布局 - 这就是为什么我现在离开它的原因.
这是我的上下文栏样式和主题的相关部分:
<style name="TextAppearance.ActionBar.Title" parent="@android:style/TextAppearance.Holo.Widget.ActionBar.Title">
<item name="android:fontFamily">sans-serif-light</item>
</style>
<style name="TextAppearance.ActionBar.Title.Light">
<item name="android:textColor">#ffffff</item>
</style>
<style name="ContextualBar.Light" parent="android:style/Widget.Holo.ActionMode">
<item name="android:background">#666666</item>
<item name="android:titleTextStyle">@style/TextAppearance.ActionBar.Title.Light</item>
<item name="android:actionMenuTextColor">#ffffff</item>
</style>
<style name="Theme.Light" parent="@android:style/Theme.Holo.Light">
...
<item name="android:actionBarStyle">@style/ActionBar.Light</item>
<item name="android:actionModeStyle">@style/ContextualBar.Light</item>
<item name="android:actionModeCloseDrawable">@drawable/ic_action_done</item>
<item name="android:actionOverflowButtonStyle">@android:style/Widget.Holo.ActionButton.Overflow</item>
<item name="android:actionMenuTextColor">#ffffff</item>
...
</style>
Run Code Online (Sandbox Code Playgroud)
广告:您可以在Google Play上的最终应用"uPod"中看到完整结果!
我有一个奇怪的问题,似乎是特定于设备的:我的Android播客播放器应用程序从服务器获取数据并将其插入数据库.对于超过100个用户,一切正常.但是对于一个用户而言,数据插入失败并出现SQLite语法错误,但仅在他的Galaxy Tab(GT-P7310)上安装了Android 4.0.4.同一个用户还有两部手机(Galaxy Nexus和Nexus 5),其中相同的数据可以正常工作.
我可以在本地SQLite安装中执行该语句而不会出现问题.
这是导致问题的声明,添加了几个换行符以使其更具可读性:
INSERT OR REPLACE INTO podcast
(uid, uri, url, title, subTitle, link, authorName, authorEmail, categories, keywords, description, imageUrl, modified, subscribed, settings_autoAddEpisodes, settings_autoDownload, settings_maxKeptEpisodes, settings_playbackSpeed, id)
VALUES
(19, 'http://api.sr.se/api/rss/pod/17155', 'http://api.sr.se/api/rss/pod/17155', 'Luuk & Lokko', NULL, 'http://sverigesradio.se/sida/default.aspx?programid=4296', 'Luuk & Lokko', 'podd@sverigesradio.se', '[{"name":"Society \u0026 Culture"}]', '[]', 'Luuk & Lokko är ett schemalagt veckosamtal där Kristian Luuk och Andres Lokko pratar med varandra om ämnen som de har bestämt pÃ¥ förhand. Vissa infall kan förekomma men de kommer att …Run Code Online (Sandbox Code Playgroud)