小编atl*_*ine的帖子

如果 docker 主机是 debian10(buster),则运行旧的 debian 容器时出现分段错误

当我在新系统(v10“buster”)上运行旧的debian gnu/linux映像(v6“squeeze”、v7“wheezy”)时,出现错误(fe,使用bash):

$ docker run --rm -ti debian:6 sh
# bash
Segmentation fault (core dumped)
# exit
$ docker run --rm -ti debian:7 sh
# bash
Segmentation fault (core dumped)
# exit
Run Code Online (Sandbox Code Playgroud)

如何修复它?

debian docker

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

为什么k8s控制平面不使用10251和10252端口?

我正在关注此内容,并要求我们的 IT 团队为我打开硬件防火墙端口:

\n

控制平面节点

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
协议方向端口范围目的使用者
传输控制协议入境6443*Kubernetes API 服务器全部
传输控制协议入境2379-2380etcd 服务器客户端 APIkube-apiserver、etcd
传输控制协议入境10250库贝莱特API自控平面
传输控制协议入境10251kube 调度程序自己
传输控制协议入境10252kube 控制器管理器自己
\n
\n

工作节点

\n
\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n
协议方向端口范围目的使用者
传输控制协议入境10250库贝莱特API自控平面
传输控制协议入境30000-32767NodePort 服务\xe2\x80\xa0全部
\n
\n

在我要求 IT 为我打开硬件端口之前,我检查了没有硬件防火墙的本地环境,我看到了以下内容:

\n
# netstat -oanltp | grep 10250\ntcp6 …
Run Code Online (Sandbox Code Playgroud)

kubernetes

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

比较Spark中当前行和上一行的值

我正在尝试比较下面的当前行和上一行的记录DataFrame。我要计算“金额”列。

scala> val dataset = sc.parallelize(Seq((1, 123, 50), (2, 456, 30), (3, 456, 70), (4, 789, 80))).toDF("SL_NO","ID","AMOUNT")

scala> dataset.show
+-----+---+------+
|SL_NO| ID|AMOUNT|
+-----+---+------+
|    1|123|    50|
|    2|456|    30|
|    3|456|    70|
|    4|789|    80|
+-----+---+------+
Run Code Online (Sandbox Code Playgroud)

计算逻辑:

  1. 对于第1行,AMOUNT应该从第一行开始为50。
  2. 对于第2行,如果SL_NO-2和1的ID不相同,则需要考虑SL_NO-2的AMOUNT(即-30)。否则为SL_NO的AMOUNT-1(即-50)
  3. 对于第3行,如果SL_NO-3和2的ID不相同,则需要考虑SL_NO-3的AMOUNT(即-70)。否则为SL_NO的AMOUNT-2(即-30)

其他行也需要遵循相同的逻辑。

预期产量:

+-----+---+------+
|SL_NO| ID|AMOUNT|
+-----+---+------+
|    1|123|    50|
|    2|456|    30|
|    3|456|    30|
|    4|789|    80|
+-----+---+------+
Run Code Online (Sandbox Code Playgroud)

请帮忙。

scala apache-spark apache-spark-sql

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

如何在Python中继承和扩展类属性

我在网上进行了大量研究,但是我没有找到在子类中使用新值扩展“类”属性字典的正确方法。大多数文档都是方法内部的extendend属性。

我尝试了dictionary.update()但不起作用。

这是我的示例:

class Super(object):
    dictionary = {'one':1, 'two':2}

    def __init__(self, var):
        self.var = var

    def supermethod(self):
        pass
Run Code Online (Sandbox Code Playgroud)

我扩展到:

class Subclass(Super):
    dictionary.update({"zero":0})

    def __init__(self, var):
        super(Subclass, self).__init__(var)
        self.var = var

    def submethod(self):
        pass
Run Code Online (Sandbox Code Playgroud)

如果我重写字典-可以正常工作。但是,如果我尝试扩展,它会给我AttributeError:'Subclass'对象没有属性'dictionary'

谢谢

python oop inheritance attributes dictionary

2
推荐指数
3
解决办法
3356
查看次数

从C++中定义的异常返回整数

我想定义一个返回int的异常.我的代码如下.它显示错误.

class BadLengthException : public exception {
    public:
        int x;

    BadLengthException(int n){
        x =n;
    }

    virtual const int what() const throw ()  {
        return x;
    }
};
Run Code Online (Sandbox Code Playgroud)

错误是:

solution.cc:12:22:错误:为'virtual const int指定的冲突返回类型BadLengthException :: what()const'virtual const int what()const throw(){^ ~~~包含在/ usr/include中的文件/ c ++/7/exception:38:0,来自/ usr/include/c ++/7/ios:39,来自/ usr/include/c ++/7/ostream:38,来自/ usr/include/c ++/7/iostream :39,from solution.cc:1:/usr/include/c++/7/bits/exception.h:69:5:错误:覆盖'virtual const char*std :: exception :: what()const'what( )const _GLIBCXX_TXN_SAFE_DYN _GLIBCXX_USE_NOEXCEPT;

c++ c++11

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

'artifactory' 不受支持的 docker v2 存储库请求意味着什么

我的 docker 客户端/服务器版本是:

$ docker version
Client:
Version:           18.09.0
API version:       1.39
Go version:        go1.10.4
Git commit:        4d60db4
Built:             Wed Nov  7 00:49:01 2018
OS/Arch:           linux/amd64
Experimental:      false

Server: Docker Engine - Community
Engine:
Version:          18.09.0
API version:      1.39 (minimum version 1.12)
Go version:       go1.10.4
Git commit:       4d60db4
Built:            Wed Nov  7 00:16:44 2018
OS/Arch:          linux/amd64
Experimental:     false
Run Code Online (Sandbox Code Playgroud)

想使用 artifactory 来托管 docker。跑步时

docker login 
Run Code Online (Sandbox Code Playgroud)

得到:

“artifactory”的不支持的 docker v2 存储库请求

这个错误是什么意思?

人工抱怨的 V2 部分是什么?

artifactory docker

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

无法在 Python 映像上找到包 msodbcsql

这是我第一次尝试使用 pyodbc 连接到 docker 映像中的 Azure SQL 数据库。我的 Dockerfile 如下所示:

# the base image
FROM python:3

WORKDIR /usr/src/app

COPY requirements.txt ./
COPY music_trends.py ./

# install SQL Server drivers
RUN apt-get update
RUN apt-get update && ACCEPT_EULA=Y apt-get install -y msodbcsql unixodbc-dev

RUN pip install --no-cache-dir -r requirements.txt

COPY . .

CMD [ "python", "./music_trends.py" ]
Run Code Online (Sandbox Code Playgroud)

这会抛出错误消息:

E: Unable to locate package msodbcsql
The command '/bin/sh -c apt-get update && ACCEPT_EULA=Y apt-get install -y msodbcsql unixodbc-dev' returned a non-zero code: …
Run Code Online (Sandbox Code Playgroud)

python azure pyodbc python-3.x docker

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

如何在结构的键中使用连字符解组 json 字符串?

我有以下代码没问题,它会打印Bob

package main

import (
    "encoding/json"
    "fmt"
)

type User struct {
    UserName string  // line2
    Age  int
}

func main() {
    var u User
    str := `{"userName":"Bob", "age": 20}` // line1
    json.Unmarshal([]byte(str), &u)
    fmt.Println(u.UserName)
}
Run Code Online (Sandbox Code Playgroud)

不幸的是,在实际情况下,line1接下来是 json 字符串,您可以看到键中有一个连字符( -)。

str := `{"user-Name":"Bob", "age": 20}`
Run Code Online (Sandbox Code Playgroud)

而且众所周知,要自动解组json字符串,我们必须在struct中定义一个与json字符串中的key同名的成员,当然需要使其大写。所以我尝试更改line2User-Name string,但-go变量名中无效。我该怎么办?

json struct go

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

time.Sleep 会阻塞 goroutine 吗?

我有下一个代码:

帕戈

package main

import (
    "runtime";
    "time"
)

func main() {
    runtime.GOMAXPROCS(4)
    ch := make(chan int)
    n := 1
    for i := 0; i < n; i++ {
        go func() {
            time.Sleep(60 * time.Second)
            ch <- 1
        }();
    }
    for i := 0; i < n; i++ {
        <-ch
    }
}
Run Code Online (Sandbox Code Playgroud)

我使用 next 来运行它:

$ go build par.go
$ time ./par
Run Code Online (Sandbox Code Playgroud)

然后,确认该进程有多少个线程:

$ ps -ef | grep par
shubunt+  3670 32131  0 12:35 pts/0    00:00:00 ./par
$ cat /proc/3670/status …
Run Code Online (Sandbox Code Playgroud)

go

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

使用akka发送时,对象,字符串,符号有什么区别?

请参见下面的代码Op1,Op2,Op3都可以作为消息时与其他演员沟通作用.

我的问题是,有什么区别,任何建议的使用方式?有些事情可能就像使用Op1更有效率或更少的字节将用于使用其中之一?我想找到一个最好的做法.

package local

import akka.actor._

object Constant {
  case object Op1
  val Op2 = "msg"
  val Op3 = 'msg
}

object Local extends App {
  implicit val system = ActorSystem("LocalSystem")
  val localActor = system.actorOf(Props[LocalActor], name = "LocalActor")
  localActor ! Constant.Op1
  localActor ! Constant.Op2
  localActor ! Constant.Op3
}

class LocalActor extends Actor {
  def receive = {
    case Constant.Op1 =>
      println("1")
    case Constant.Op2 =>
      println("2")
    case Constant.Op3 =>
      println("3")
  }
}
Run Code Online (Sandbox Code Playgroud)

scala akka

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

结合 shell 和 python 代码

目前,我有以下代码工作:

echo "start"

export abc="hello"
a=`python a.py`
echo $a

echo "end"
Run Code Online (Sandbox Code Playgroud)

a.py

import os
print os.getenv('abc')*2
Run Code Online (Sandbox Code Playgroud)

上面,我的 shell 脚本需要一个 python 脚本的帮助来处理某些事情,然后将答案返回给 shell 脚本。

虽然它可以工作,但我们需要编写另一个python文件,要求是向用户提供单个文件,那么它是如何制作的,我记得我曾经看到过某种将shell和python代码结合起来的实现,谁也知道&给我一些线索吗?

python bash shell

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

使用iota定义const变量时如何跳过很多值?

说我有下一个C程序:

#include <stdio.h>

int main(int args, char* argv[])
{
    enum RC {
        APPLE=0,
        ORANGE,
        PEAR,
        BANANA=99,
        GRAPE
    };

    printf("%d, %d, %d, %d, %d\n", APPLE, ORANGE, PEAR, BANANA, GRAPE);
}
Run Code Online (Sandbox Code Playgroud)

输出为:

0、1、2、99、100

如果进行中,如何使用a more golang way来处理呢?

实际上,如果我只是想跳过一些值。例如print 0, 1, 2, 5, 6,那么我可以使用next跳过一些值,但是在这里我需要跳过96个值...

package main

import "fmt"

func main() {
    const (
        APPLE = iota
        ORANGE
        PEAR
        _
        _
        BANANA
        GRAPE
    )
    fmt.Println(APPLE, ORANGE, PEAR, BANANA, GRAPE)
}
Run Code Online (Sandbox Code Playgroud)

并且,我也可以使用next,但是在GRAPE... 之后我仍然有很多const变量。

package main

import "fmt"

func main() {
    const …
Run Code Online (Sandbox Code Playgroud)

enums const go iota

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

docker中pg_dump错误但仍然执行成功

我已经容器化了一个 python 脚本,该脚本旨在pg_dump在数据库上运行并将生成的文件上传到服务器。我遇到的问题是我 could not find a "pg_dump" to execute在终端中看到了该消息,但无论如何它似乎都运行成功。例如,如果我运行下面的代码,我会得到输出:

could not find a "pg_dump" to execute
pg_dump (PostgreSQL) 11.10
Run Code Online (Sandbox Code Playgroud)

我想弄清楚为什么这条消息打印在我的终端上,以及它是否表明了我没有看到的更大问题。我仍然清楚地得到我的输出,如上所示,所以我对这条消息的含义感到非常困惑。

Dockerfile:

FROM postgres:11.10-alpine

LABEL maintainer="Foo"

COPY *.py /

ADD requirements.txt /

RUN apk add postgresql-client

# Install python 3
RUN apk add --no-cache python3 \
  && python3 -m ensurepip \
  && pip3 install --upgrade pip setuptools \
  && rm -r /usr/lib/python*/ensurepip && \
  if [ ! -e /usr/bin/pip ]; then ln -s pip3 /usr/bin/pip ; fi …
Run Code Online (Sandbox Code Playgroud)

python postgresql pg-dump python-3.x docker

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