我按照官方说明如何在Ubuntu上安装Docker,将我的帐户添加到"docker"组并重新启动计算机,我无法运行"docker"(甚至不是root用户),因为我收到以下错误:
$ sudo docker info
FATA[0000] Get http:///var/run/docker.sock/v1.18/info: dial unix /var/run/docker.sock: no such file or directory. Are you trying to connect to a TLS-enabled daemon without TLS?
Run Code Online (Sandbox Code Playgroud)
但是,我意识到,如果从另一个会话中我运行"sudo docker -d",那么即使不使用"sudo",Docker也能正常工作.
解决这个问题的最佳方法是什么?我想这个问题与服务脚本有关,但我很惊讶我找不到说明,甚至其他人也找不到同样的问题.
如果我docker run --memory=X
通过Bash脚本运行Java应用程序,有没有办法让这个Bash脚本可靠地推断已分配给容器的内存量?基本上,我希望这个Bash脚本执行以下操作:
#!/bin/bash
# (Do some other stuff...)
MAX_RAM="$(get-max-ram)"
exec java "-Xms${MAX_RAM}" "-Xmx${MAX_RAM}" -jar my_jar.jar
Run Code Online (Sandbox Code Playgroud)
另外,如果我这样做,我应该让Java使用比最大RAM少一点吗?
我在 PHP 5.6.20 前面通过 FastCGI (PHP-FPM) 使用 Nginx 1.8.1 作为反向代理,我发现来自 PHP 的所有通知/警告/错误日志也在 Nginx 中记录为错误。有什么办法可以防止此类日志传播到 Nginx 的日志?我希望他们只登录 PHP 的日志文件。
下面是一个例子:
[2016 年 4 月 29 日 22:23:10] 警告:[pool www] child 20 对 stderr 说:“注意:PHP 消息:PHP 警告:phpinfo():依赖系统的时区设置是不安全的。你需要使用 date.timezone 设置或 date_default_timezone_set() 函数。如果您使用了这些方法中的任何一种但仍然收到此警告,则很可能是时区标识符拼错了。我们现在选择了时区“UTC”,但请设置 date.timezone 以选择您的时区。在第 2 行的 /opt/web-app/index.php 中”
相同的日志作为错误添加到 Nginx 的日志文件中:
2016/04/29 22:23:10 [error] 6#0: 1 FastCGI sent in stderr: "PHP message: PHP Warning: phpinfo(): 依赖系统的时区设置是不安全的。你是*必需的使用 date.timezone 设置或 date_default_timezone_set() 函数。如果您使用了这些方法中的任何一种并且仍然收到此警告,则很可能是您拼错了时区标识符。我们现在选择了时区“UTC”,但请设置 date.timezone 以选择您的时区。在第 2 行的 /opt/web-app/index.php 中”,同时从上游读取响应标头,客户端:172.18.0.1,服务器:,请求:“GET /favicon.ico HTTP/ 1.1", 上游: "fastcgi://172.18.0.2:9000", 主机: "localhost:8080", …
我在cgget -n --values-only --variable memory.limit_in_bytes /
Docker容器中使用,以查看允许使用的内存量docker run --memory=X
.但是,我需要知道内存是否有限,上面的命令没有回答,因为在这种情况下它会给我一个很大的数字(9223372036854771712
在我的测试中).
那么,有没有办法判断内存是否有限?我正在寻找不涉及docker run
以特殊方式运行的解决方案,例如从主机安装文件(例如/var/...
)或传递环境变量.
为什么以下在 Debian Jessie 的 Docker 映像上失败?
# curl --silent --show-error --location https://download.owncloud.org/community/owncloud-8.0.3.tar.bz2 | tar xjv
tar (grandchild): bzip2: Cannot exec: No such file or directory
tar (grandchild): Error is not recoverable: exiting now
tar: Child died with signal 13
tar: Error is not recoverable: exiting now
curl: (23) Failed writing body (4096 != 16384)
Run Code Online (Sandbox Code Playgroud)
我无法在 Dockerfile RUN语句中或在图像“php:5.6-fpm”(基于“debian:jessie”)的交互式 bash shell 中运行它。
但是,我可以在许多其他 Debian 和 Ubuntu 系统上运行它。
这是 Docker 的问题吗?
假设我有这样的函数:
myFunction :: Maybe a -> b
Run Code Online (Sandbox Code Playgroud)
但是用它来称呼是没有任何意义的Nothing
- Just a
是唯一有意义的价值观.是否可以在类型定义中表示此约束myFunction
?
我知道我总能做到以下几点,但对我来说这似乎不太干净:
myFunction Nothing = undefined
Run Code Online (Sandbox Code Playgroud)