我在docker容器中运行Apache2并且想要不写入磁盘,将日志写入stdout和stderr.我已经看到了几种不同的方法(Supervisord和stdout/stderr,Apache访问日志到stdout),但这些看起来像黑客.默认情况下没有办法做到这一点吗?
要清楚,我不想尾随日志,因为这会导致事物被写入容器中的磁盘.
登录到Docker Hub(https://hub.docker.com/_/httpd/)的"官方"版本仍然写入磁盘.
另外,在尝试滚动日志时,我需要做些什么来阻止Apache失败?
另一件事 - 理想情况下,我真的很想在没有其他附加功能的情况下这样做.nginx可以做到这一点.
我已经确定了我想要的东西,但我似乎无法以导轨设计师正在寻找的方式获得它.基本上,我有(请留出多元化/等问题):
人际关系(父母,后代)
我试图让单亲的所有后代,以及许多后代的单亲(假设每个后代只有一个父母).
我可以在模型中以下列方式执行此操作:
has_one :parent, :through => :relationships, :foreign_key => :human_id, :source => :source_human
has_many :offsprings, :finder_sql =>
'SELECT DISTINCT offsprings.* ' +
'FROM humans offsprings INNER JOIN relationships r on ' +
'r.human_id = offsprings.id where r.source_human_id = #{id}'
Run Code Online (Sandbox Code Playgroud)
我必须这样做,因为更好的方法:
has_many :offsprings, :through => :relationships, :foreign_key => :source_human_id, :source => :human
Run Code Online (Sandbox Code Playgroud)
是不可能的,因为在has_many中忽略了外键(根据这里的文档:http://api.rubyonrails.org/classes/ActiveRecord/Associations/ClassMethods.html#method-i-has_many)
但是,现在我收到了这个错误:
DEPRECATION WARNING:不推荐使用基于字符串的关联条件插值.请改用proc.因此,例如,has_many:older_friends,:conditions =>'age>#{age}'应更改为has_many:older_friends,:conditions => proc {"age>#{age}"}.(从(irb)的irb_binding调用:1)
但是,无论我如何破解:条件在这里,它似乎没有:finder_sql想要参与.有什么想法吗?
我用docker pull postgres拉了postgres图像.我还尝试从https://docs.docker.com/examples/postgresql_service/运行图像
我使用-p 5432:5432选项运行它们,但无法与pgAdmin连接.当我尝试通过localhost:5432连接时,它给了我超时.我在互联网上找到的例子说只使用-p.我做了,但它不起作用.此外,至少从上面的示例中的安全设置是非常宽容的.有什么建议?
我有一段时间想知道如何使用Rails的响应对象登录和注销.标准博客还可以,但我终于诊断出来了,我想在这里录制它.
app.get '/'
assert_response :success
app.get '/auth_only_url'
assert_response 302
user = User.find(:user_to_login)
app.post '/signin_url',
:user_email => user.email,
:user_password => '<password in clear>'
assert_response 302
app.follow_redirect!
assert_response :success
app.get '/auth_only_url'
assert_response :success
Run Code Online (Sandbox Code Playgroud)
请注意,上述内容意味着您在失败的身份验证请求后重定向,以及您在登录后重定向.
为确保将夹具加载到测试环境DB中(通常在rake测试期间发生),请确保执行以下操作:
rake db:fixtures:load RAILS_ENV=test
Run Code Online (Sandbox Code Playgroud)
(来自Patrick Richie)默认URL将显示为"www.example.com",因为此默认主机在ActionController :: Integration :: Session中设置
ActionController::Integration::Session.new.host=> "www.example.com"
Run Code Online (Sandbox Code Playgroud)
它在actionpack/lib/action_controller/integration.rb#75中设置
要在集成测试中更改它,请执行以下操作:
session = open_session do |s| s.host = 'my-example-host.com' end
Run Code Online (Sandbox Code Playgroud) 我试图逐个区分两个字符串,类似于StackOverflow在版本编辑页面上对两个字符串进行区分的方式.这样做的算法是什么?是否有宝石或其他标准库可以实现这一目标?
编辑:我已经看到其他差异算法(与Ruby不同),他们似乎导致以下结果:
>> o = 'now is the time when all good men.'
>> p = 'now some time the men time when all good men.'
>> Differ.diff_by_word(o,p).format_as(:html)
=> "now <del class=\"differ\">some</del><ins class=\"differ\">is</ins>
<del class=\"differ\">time </del>the <del class=\"differ\">men </del>time
when all good men."
Run Code Online (Sandbox Code Playgroud)
请注意单词基于每个单词的差异?我希望通过短语进行更多区分,所以上面的代码输出:
=> "now <del class=\"differ\">some time the men</del><ins class=\"differ\">is
the</ins> time when all good men."
Run Code Online (Sandbox Code Playgroud)
我希望得到太多吗?
我有一个连接表连接的两个表 - 这只是伪代码:
Library
Book
LibraryBooks
Run Code Online (Sandbox Code Playgroud)
我需要做的是,如果我有一个库的id,我想得到这个库所有书籍的所有库.
因此,如果我有图书馆1,图书馆1中有图书A和B,图书A和B在图书馆1,2和3中,那么在轨道中是否有优雅(一线)的方式?
我刚在想:
l = Library.find(1)
allLibraries = l.books.libraries
Run Code Online (Sandbox Code Playgroud)
但这似乎不起作用.建议?
男孩,感觉就像我在这里尝试过一切,我只是无法正确渲染这种形式(例如,使用字段的子集).这是相关项目(删除了额外的项目):
models.py:
class Response(models.Model):
public = models.BooleanField(default=False)
question = models.CharField(max_length=255, default='', blank=True)
class ResponseForm(ModelForm):
class Meta:
model = Response
fields = ['question']
Run Code Online (Sandbox Code Playgroud)
views.py:
class ResponseCreate(CreateView):
model = Response
fields = ['question']
Run Code Online (Sandbox Code Playgroud)
response_form.html:
<form action="" method="post">{% csrf_token %}
{{ form.as_p }}
<input type="submit" value="Create" />
</form>
Run Code Online (Sandbox Code Playgroud)
我读过的文档的每一点,他们建议使用exclude,excludes,field,fields在元组,或列表,并没有物质的排列什么是"公"领域似乎表明了每一次!思考?
谢谢你的帮助!
我从http://www.ibm.com/developerworks/systems/library/es-nweb/sidefile1.html下载了一个简单的静态Web服务器的源代码 .
但是,我对第130行感到困惑:
#ifdef LINUX
sleep(1); /* to allow socket to drain */
#endif
exit(1);
Run Code Online (Sandbox Code Playgroud)
由于套接字没有关闭,这是否意味着我需要等待客户端关闭套接字?
我在coreos上运行kubernetes单节点。
我创建了一个运行python应用程序并公开http端点的pod。
我创建了一个暴露HTTP端点的kubernetes服务。我已经使用NodePort公开了该服务,并且可以从集群外部成功调用它。
我要尝试的是从docker容器调用HTTP服务。为了测试,我只是使用相同的运行容器并使用curl。
我可以docker exec进入运行服务的docker容器中。“ my-service”的nslookup解析为IP地址。因此,我很高兴DNS服务注册可以正常工作。(我还检查了该服务的ENV变量是否存在-并且确实存在并且与从返回的值相同nslookup)
但是,如果我尝试:
curl http://my-service:9042/status
Run Code Online (Sandbox Code Playgroud)
它只是挂起而没有任何响应。(端口9042是正确的端口,状态是有效的资源)
我假设我确实缺少一些明显的东西。任何建议都受到热烈欢迎。
更新:
curl -v的响应是:
root@lake-cluster-manager:/# curl -v http://lake-service:9042/status
* Hostname was NOT found in DNS cache
* Trying 10.3.0.128...
Run Code Online (Sandbox Code Playgroud)
nslookup的输出是:
root@lake-cluster-manager:/# nslookup lake-service
Server: 10.3.0.10
Address: 10.3.0.10#53
Name: lake-service.default.svc.cluster.local
Address: 10.3.0.128
Run Code Online (Sandbox Code Playgroud) 我正在构建一个简单的客户端服务器应用程序,我想跟踪客户端执行到调用第二个服务器微服务的服务器微服务。
简单来说,并不比 CLI -> ServiceA -> ServiceB 复杂。
我面临的挑战是如何序列化上下文 - 我看过的大多数文档似乎都进行某种形式的自动 HTTP 标头注入(例如https://opentelemetry.lightstep.com/core-concepts/context- propagation/ ) ,但我无权访问它。我需要序列化(我认为)客户端中跟踪/跨度的上下文并将其推送到服务器,我将在服务器上重新水化它。(请注意,我希望这更简单,但我无法弄清楚)。
所以该对象看起来像这样(称为“作业”):
args := &types.SubmitArgs{
SerializedOtelContext: serializedOtelContext,
}
job := &types.Job{}
tracer := otel.GetTracerProvider().Tracer("myservice.org")
_, span := tracer.Start(ctx, "Submitting Job to RPC")
err := system.JsonRpcMethod(rpcHost, rpcPort, "Submit", args, job)
Run Code Online (Sandbox Code Playgroud)
提交到 JsonRpcMethod 的函数在这里:
func JsonRpcMethod(
host string,
port int,
method string,
req, res interface{},
) error {
client, err := rpc.DialHTTP("tcp", fmt.Sprintf("%s:%d", host, port))
if err != nil {
return fmt.Errorf("Error in dialing. %s", err) …Run Code Online (Sandbox Code Playgroud) ruby ×4
docker ×2
kubernetes ×2
algorithm ×1
apache ×1
c ×1
c# ×1
c++ ×1
django ×1
django-forms ×1
go ×1
pgadmin ×1
postgresql ×1
python ×1
sockets ×1