我正在使用docker swarm并希望部署一个服务docker-compose.我的服务使用一个自定义映像,称为myuser/myrepo:mytag我成功部署到Docker-Hub到私有存储库.
我的docker-compose看起来像这样:
version: "3.3"
services:
myservice:
image: myuser/myrepo:mytag
ports:
- "8080:8080"
Run Code Online (Sandbox Code Playgroud)
在执行之前,我成功地将图像拉出: docker pull myuser/myrepo:mytag
当我跑步时,docker stack deploy -c docker-compose.yml myapp我总是收到错误:"No such image: myuser/myrepo:mytag".
有趣的是,仅运行相同的文件:( docker-compose up即没有swarm模式)一切正常,服务启动.
我真的不明白为什么会失败?我已经尝试过清理docker system prunedocker然后重新生成我的图像,但没有成功.
由于我已将我的 Android 项目迁移到 AndroidX,我收到以下lint错误:
Error: Must be one of: Snackbar.LENGTH_INDEFINITE, Snackbar.LENGTH_SHORT, Snackbar.LENGTH_LONG [WrongConstant]
Snackbar snackbar = Snackbar.make(rootView, message, sticky ? Snackbar.LENGTH_INDEFINITE : 4500
Run Code Online (Sandbox Code Playgroud)
因此,我现在没有定义自定义持续时间(4500 毫秒),而是使用Snackbar.LENGTH_LONG. 由于我正在实施一些基于时间的操作,这取决于小吃栏的可见时间,因此我需要知道Snackbar.LENGTH_LONG以毫秒为单位的实际持续时间。我如何找出那个值?
这些文档在这里并没有真正的帮助:
显示 Snackbar 一小段时间。
对于移动网络应用程序,我想模拟设备的位置移动。虽然可以使用 Chrome 开发者控制台中的传感器选项卡覆盖单个位置(请参阅: https: //developers.google.com/web/tools/chrome-devtools/device-mode/device-input-and-sensors)我想连续覆盖位置,例如每秒更新设备的位置。
是否有可能在 Chrome(或任何其他桌面浏览器)中实现这一目标?
我正在寻找类似于 Android 模拟器的解决方案,它允许重播记录的 GPS 轨迹(来自 GPX 或 KML 文件):

(参见: https: //developer.android.com/guide/topics/location/strategies.html#MockData)
location google-chrome mocking android-emulator google-chrome-devtools
我想使用 Vagrant 在我的本地机器(Mac OS X)上设置一个带有 UI 的 Consul 集群。到目前为止,我只是按照官方领事文档的入门说明进行操作:https : //www.consul.io/intro/getting-started/join.html
为了能够从主机访问 UI,我只是将这一行添加到提供的 Vagrantfile ( https://github.com/hashicorp/consul/blob/master/demo/vagrant-cluster/Vagrantfile )
n1.vm.network "forwarded_port", guest: 8500, host: 8500
Run Code Online (Sandbox Code Playgroud)
要在来宾机器上使用 UI 启动 Consul,我 ssh 进入机器,然后简单地将 -ui 标志添加到提供的命令中:
consul agent -server -bootstrap-expect=1 \
-data-dir=/tmp/consul -node=agent-one -bind=172.20.20.10 \
-enable-script-checks=true -config-dir=/etc/consul.d -ui
Run Code Online (Sandbox Code Playgroud)
Consul 启动时没有问题,从我可以执行的来宾机器开始:
curl -v 'http://localhost:8500/ui/'
Run Code Online (Sandbox Code Playgroud)
并返回预期的 HTML 页面。
但是,尝试http://localhost:8500/ui/在浏览器中访问或通过主机上的 curl访问不起作用。在主机上使用 curl 会导致:
* Trying ::1...
* TCP_NODELAY set
* Connection failed
* connect to ::1 port 8500 failed: Connection refused
* Trying 127.0.0.1...
* …Run Code Online (Sandbox Code Playgroud) 不幸的是我已经经常遇到这个问题了。在我的 Android 项目中,我使用databinding将类绑定到我的 xml 布局,效果很好。基本上我是按以下方式进行的:
<layout xmlns:android="http://schemas.android.com/apk/res/android">
<data>
<variable name="myClass" type="com.somepackagename.myClass" />
</data>
</layout>
Run Code Online (Sandbox Code Playgroud)
在我的(相当大的)项目中,我经常对variable name许多不同的 xml 布局使用相同的布局。
经过大量重构后,由于以下构建错误,我现在无法再构建项目:
e: error: Cannot resolve type 'myClass'
e: error: cannot generate view binders android.databinding.tool.util.LoggedErrorException: failure, see logs for details.
Cannot resolve type 'myClass'
at android.databinding.tool.util.L.printMessage(L.java:134)
at android.databinding.tool.util.L.e(L.java:107)
at android.databinding.tool.expr.Expr.getResolvedType(Expr.java:386)
at android.databinding.tool.expr.ExprModel.lambda$resolveTypes$1(ExprModel.java:618)
...
Run Code Online (Sandbox Code Playgroud)
虽然 errorMessage 对我来说很清楚并告诉我哪个变量名导致了这个问题,但不幸的是它不是很详细并且没有告诉我:
如果您更改了许多 xml 布局,那么很难找到导致问题的原因。
难道没有更好的方法来调试此类错误吗?
android ×2
androidx ×1
consul ×1
data-binding ×1
docker ×1
docker-stack ×1
docker-swarm ×1
lint ×1
location ×1
macos ×1
mocking ×1
vagrant ×1