小编Chr*_*ski的帖子

调用 iptables 导致 docker 中“不支持操作”

iptables我在 Pod 中使用时遇到错误:

root@chris-sshuttle-k8stest:~# iptables -t nat -nL
iptables: Operation not supported.
Run Code Online (Sandbox Code Playgroud)

如果我直接使用 docker 运行图像,但它工作正常:

docker run --cap-add=NET_ADMIN -it --rm chrissound/sshuttle-k8stest:v2 /bin/bash
root@e857b0d4152a:/# iptables -t nat -nL
Chain PREROUTING (policy ACCEPT)
target     prot opt source               destination         
...
Run Code Online (Sandbox Code Playgroud)

另外,输出为capsh --print

root@chris-sshuttle-k8stest:~# capsh --print
Current: = cap_chown,cap_dac_override,cap_dac_read_search,cap_fowner,cap_fsetid,cap_kill,cap_setgid,cap_setuid,cap_setpcap,cap_linux_immutable,cap_net_bind_service,cap_net_broadcast,cap_net_admin,cap_net_raw,cap_ipc_lock,cap_ipc_owner,cap_sys_module,cap_sys_rawio,cap_sys_chroot,cap_sys_ptrace,cap_sys_pacct,cap_sys_admin,cap_sys_boot,cap_sys_nice,cap_sys_resource,cap_sys_time,cap_sys_tty_config,cap_mknod,cap_lease,cap_audit_write,cap_audit_control,cap_setfcap,cap_mac_override,cap_mac_admin,cap_syslog,cap_wake_alarm,cap_block_suspend,cap_audit_read+eip
Bounding set =cap_chown,cap_dac_override,cap_dac_read_search,cap_fowner,cap_fsetid,cap_kill,cap_setgid,cap_setuid,cap_setpcap,cap_linux_immutable,cap_net_bind_service,cap_net_broadcast,cap_net_admin,cap_net_raw,cap_ipc_lock,cap_ipc_owner,cap_sys_module,cap_sys_rawio,cap_sys_chroot,cap_sys_ptrace,cap_sys_pacct,cap_sys_admin,cap_sys_boot,cap_sys_nice,cap_sys_resource,cap_sys_time,cap_sys_tty_config,cap_mknod,cap_lease,cap_audit_write,cap_audit_control,cap_setfcap,cap_mac_override,cap_mac_admin,cap_syslog,cap_wake_alarm,cap_block_suspend,cap_audit_read
Securebits: 00/0x0/1'b0
 secure-noroot: no (unlocked)
 secure-no-suid-fixup: no (unlocked)
 secure-keep-caps: no (unlocked)
uid=0(root)
gid=0(root)
groups=
Run Code Online (Sandbox Code Playgroud)

其中确实有net_admin

root@chris-sshuttle-k8stest:~# capsh --print | grep net_admin
Current: = cap_chown,cap_dac_override,cap_dac_read_search,cap_fowner,cap_fsetid,cap_kill,cap_setgid,cap_setuid,cap_setpcap,cap_linux_immutable,cap_net_bind_service,cap_net_broadcast,cap_net_admin,cap_net_raw,cap_ipc_lock,cap_ipc_owner,cap_sys_module,cap_sys_rawio,cap_sys_chroot,cap_sys_ptrace,cap_sys_pacct,cap_sys_admin,cap_sys_boot,cap_sys_nice,cap_sys_resource,cap_sys_time,cap_sys_tty_config,cap_mknod,cap_lease,cap_audit_write,cap_audit_control,cap_setfcap,cap_mac_override,cap_mac_admin,cap_syslog,cap_wake_alarm,cap_block_suspend,cap_audit_read+eip
Bounding set =cap_chown,cap_dac_override,cap_dac_read_search,cap_fowner,cap_fsetid,cap_kill,cap_setgid,cap_setuid,cap_setpcap,cap_linux_immutable,cap_net_bind_service,cap_net_broadcast,cap_net_admin,cap_net_raw,cap_ipc_lock,cap_ipc_owner,cap_sys_module,cap_sys_rawio,cap_sys_chroot,cap_sys_ptrace,cap_sys_pacct,cap_sys_admin,cap_sys_boot,cap_sys_nice,cap_sys_resource,cap_sys_time,cap_sys_tty_config,cap_mknod,cap_lease,cap_audit_write,cap_audit_control,cap_setfcap,cap_mac_override,cap_mac_admin,cap_syslog,cap_wake_alarm,cap_block_suspend,cap_audit_read …
Run Code Online (Sandbox Code Playgroud)

iptables docker kubernetes

1
推荐指数
1
解决办法
2558
查看次数

来自stdin的Haskell读取文件

我需要编写一个haskell程序,它从命令行参数中检索文件并逐行读取该文件.我想知道如何处理这个,我是否必须将命令行参数作为字符串并将其解析为openFile或其他什么?我对haskell很新,所以我很失落,任何帮助都会受到赞赏!

stdin haskell readfile

0
推荐指数
1
解决办法
1800
查看次数

Floating类型类与Double有何不同?

*User> :t sqrt
sqrt :: Floating a => a -> a
Run Code Online (Sandbox Code Playgroud)

我不明白是什么Floating a => a -> a想告诉我的.我的教授告诉我sqrt可以想到sqrt :: Double -> Double.它确实像那样,但Floating a => a -> a意味着什么?

谢谢

haskell types typeclass

0
推荐指数
1
解决办法
1436
查看次数

为什么我在自定义类型上的地图实现不正确?

我正在关注来自https://github.com/NICTA/course的List练习

以下代码片段是从https://github.com/NICTA/course/blob/master/src/Course/List.hs的一部分复制而来的

data List t =
  Nil
  | t :. List t
  deriving (Eq, Ord)

map ::
  (a -> b)
  -> List a
  -> List b
map f a = filter (\listElement -> listElement /= Nil) a
Run Code Online (Sandbox Code Playgroud)

上面给出了以下错误:
无法将预期类型'b'与实际类型匹配'列表t0''b'是由map ::(a - > b) - > List的类型签名绑定的刚性类型变量a - >列表b

我正在努力实现以下目标:

>>> map (+10) (1 :. 2 :. 3 :. Nil)
[11,12,13]
Run Code Online (Sandbox Code Playgroud)

haskell

0
推荐指数
1
解决办法
131
查看次数

为什么kubectl与sudo有不同的行为?

kubectl get pods使用sudo 运行:

sudo kubectl get pods
The connection to the server localhost:8080 was refused - did you specify the right host or port?
Run Code Online (Sandbox Code Playgroud)

以普通用户身份运行:

kubectl get pods
No resources found.
Run Code Online (Sandbox Code Playgroud)

kubernetes kubectl

0
推荐指数
1
解决办法
1439
查看次数

PHP Apache错误调度请求

我有一个PHP应用程序,它返回给我:

[Thu Oct 05 22:10:59.351244 2017] [proxy_fcgi:error] [pid 3733:tid 139869435164416] (70007)The timeout specified has expired: [client IPADDRESS HIDDEN:46777] AH01075: Error dispatching request to : (polling)
[Thu Oct 05 22:16:27.701213 2017] [proxy_fcgi:error] [pid 3732:tid 139869359630080] (70007)The timeout specified has expired: [client IPADDRESS HIDDEN:46988] AH01075: Error dispatching request to : (polling)
[Thu Oct 05 22:21:52.971235 2017] [proxy_fcgi:error] [pid 3733:tid 139869426771712] (70007)The timeout specified has expired: [client IPADDRESS HIDDEN:47055] AH01075: Error dispatching request to : (polling)
[Thu Oct 05 22:25:23.561216 2017] [proxy_fcgi:error] [pid …
Run Code Online (Sandbox Code Playgroud)

php apache webserver apache2

0
推荐指数
3
解决办法
6257
查看次数

Firebase 是否支持多个子域?

我正在从事网站开发,现在我已经建立了网站并在 Firebase 中运行。

问题是我需要添加一个文件夹,但这需要在子域中,即,

域:example.firebaseapp.com 包含我的网站需要的所有资产和内容。子域:design-explorer.example.firebaseapp.com 这是我必须添加新文件夹的地方。

有可能这样做吗?我一直在阅读文档,但没有关于它的信息。

subdomain dns firebase firebase-hosting

0
推荐指数
1
解决办法
948
查看次数

如何在`unsafePerformIO`中强制评估IO操作?

import System.IO.Unsafe

main :: IO ()
main = do
  _ <- return $ unsafePerformIO $ do
    print "test2"
  print "test"
Run Code Online (Sandbox Code Playgroud)

上面只输出test(当运行时runghc),我假设由于Haskell的惰性,第一个IO动作实际上没有得到评估.如何强制它评估和执行操作?

以上仅用于调试目的.

haskell

0
推荐指数
1
解决办法
307
查看次数

如何在 docker 的官方 php(基于 debian)映像上安装 XDebug?

就像如何在 docker 的官方 php-fpm-alpine 镜像上安装 XDebug 一样?但我正在寻找基于 debian 的图像 ( php:7.1-fpm-stretch),而不是 alpine 图像。

本质上,我应该如何安装 XDebug?通过 Debian 的软件包?佩尔?或者一些替代方案?

php docker

0
推荐指数
1
解决办法
3043
查看次数

使用带有GHC 8.6.3的cabal new-build的简单Haskell库,构建失败

试图用Haskell构建一个简单的库。它工作了一次,然后停止了工作(很奇怪)

仅运行了几个命令,只有库的简单cabal init

然后添加了以下库

问候

module Greet where


greeet s = "Hey, " ++ s
Run Code Online (Sandbox Code Playgroud)

然后运行cabal new-build,然后运行cabal new-repl

错误如下

Build profile: -w ghc-8.6.3 -O1
In order, the following will be built (use -v for more details):
 - HaskellTry-0.1.0.0 (lib) (ephemeral targets)
Preprocessing library for HaskellTry-0.1.0.0..
GHCi, version 8.6.3: http://www.haskell.org/ghc/  :? for help
Ok, one module loaded.
Prelude Greet> greeet "h"
"
Run Code Online (Sandbox Code Playgroud)

在那之后一切都停滞了。

haskell cabal haskell-platform cabal-new

0
推荐指数
1
解决办法
81
查看次数

与 docs.rs 源代码比较时源代码不一致

在下面的代码中:

use std::env;

use serenity::{
    async_trait,
    model::{channel::Message, gateway::Ready},
    prelude::*,
    utils::MessageBuilder,
};

struct Handler;

use serenity::model::id::GuildId;
use serenity::model::voice::VoiceState;

#[async_trait]
impl EventHandler for Handler {

    async fn voice_state_update(&self, context: Context, arg2 : Option<GuildId>, old : Option<VoiceState>, new : VoiceState) {
    //async fn voice_state_update(&self, context: Context, arg2 : Option<GuildId>, new : VoiceState) {
    }


}

#[tokio::main]
async fn main() {
    // Configure the client with your Discord bot token in the environment.
    let token = env::var("DISCORD_TOKEN").expect("Expected a token in the environment");
    let mut …
Run Code Online (Sandbox Code Playgroud)

rust

0
推荐指数
1
解决办法
136
查看次数