小编Rob*_*452的帖子

Ubuntu 16.04最新更新破解了Docker(docker-ce)

我在桌面上运行Ubuntu 16.04.我使用docker-ce,它一直在工作,直到几天前.Ubuntu中的自动更新似乎打破了它.

robert@catness:~$ docker ps
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
Run Code Online (Sandbox Code Playgroud)

我尝试按照https://docs.docker.com/install/linux/docker-ce/ubuntu/上的说明删除并重新安装,但它没有工作.

robert@catness:~$ sudo apt-get install docker-ce
Reading package lists... Done
Building dependency tree       
Reading state information... Done
docker-ce is already the newest version (5:18.09.0~3-0~ubuntu-xenial).
You might want to run 'apt-get -f install' to correct these:
The following packages have unmet dependencies.
 docker-ce : Depends: containerd.io but it is not going to be installed
E: Unmet dependencies. Try 'apt-get -f install' …
Run Code Online (Sandbox Code Playgroud)

linux ubuntu docker ubuntu-16.04

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

如何在其他服务完成后才开始服务?

使用compose我想在另一个服务退出代码0后启动服务.

我对此功能有多重需求.基本需求是我所拥有的:

  • 数据库服务
  • 数据库迁移服务
  • 应用服务

数据库服务将启动一个空数据库.我的应用程序需要它在数据库中的架构设置,所以我有第二个服务,它将在运行时执行此操作.完成后,此服务将成功退出 - 我可以在我的docker compose日志文件中看到:

webservices_kong-migration_1退出,代码为0

我不希望应用程序服务在数据库迁移完成之后才开始.

我在应用程序服务的docker-compose文件中有以下内容:

depends_on:
  kong-database:
    condition: service_healthy
  kong-migration:
    condition: service_started
Run Code Online (Sandbox Code Playgroud)

我知道这是错误的,因为我可以在我的docker-compose日志中看到应用程序在迁移开始之后但在它完成之前启动,导致应用程序失败.

(我一直以https://github.com/Kong/docker-kong/blob/master/compose/docker-compose.yml为例)

docker-compose是否具有执行此操作的功能,还是应该考虑使用其他方法?

docker docker-compose

9
推荐指数
4
解决办法
780
查看次数

在 Flask 应用程序中使用 neo4j 时避免从失效连接读取失败

我正在使用以下版本的 neo4j 库:

neo4j==1.7.2
neobolt==1.7.9
neotime==1.7.4
Run Code Online (Sandbox Code Playgroud)

我有一个烧瓶应用程序,在开发中我使用内部烧瓶应用程序服务器。(在 prod 中,我将使用带有 uwsgi 的 docker 容器,但这个问题与我的开发设置有关。)

我已将 neo4j 封装到一个类中,并且我的应用程序维护此类的单个实例:

class ChartStoreConnectionClass():
  driver = None

  def __init__(self, configDict):
    self.driver = neo4j.GraphDatabase.driver(
      configDict["boltUri"],
      auth=(configDict["basicAuthUsername"], configDict["basicAuthPassword"]),
      encrypted=True,
      trust=neo4j.TRUST_SYSTEM_CA_SIGNED_CERTIFICATES,
      # trust=neo4j.TRUST_ALL_CERTIFICATES,
      # trust=neo4j.TRUST_CUSTOM_CA_SIGNED_CERTIFICATES, Custom CA support is not implemented
    )

  def readonlyQuery(self, queryFN):
    res = None
    with self.driver.session() as session:
      tx = session.begin_transaction()
      res = queryFN(tx)
      tx.rollback()
    return res

  def execute(self, queryFN):
    res = None
    with self.driver.session() as session:
      tx = session.begin_transaction()
      res = queryFN(tx)
      tx.commit()
    return …
Run Code Online (Sandbox Code Playgroud)

python neo4j flask bolt

5
推荐指数
0
解决办法
980
查看次数

JTable有排序事件吗?

我有一个使用JTable的程序.我给它一个RowSorter,这样当你点击列标题时,表格按该列排序.

我想捕获用户单击列标题并输出调试消息.例如

System.out.println("You have sorted by first name ascending");
System.out.println("You have sorted by first name descending");
System.out.println("You have sorted by last name ascending");
Run Code Online (Sandbox Code Playgroud)

所以我需要回应sort事件.我在网上搜索过例子,但我找不到任何例子.

java sorting events swing

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

具有多个断言的 Clojure 测试

我开始学习如何为我的 Clojure 程序编写测试。我有一个包含多个断言的测试(调用is)。我希望测试在第一个断言失败后立即停止运行。这是我的测试:

(deftest register-one-command
  (testing "Register-one-command"
    (do
      (is (= 0 (count @test/list-of-commands)))
      (test/add-to-list-of-commands ["A"])
      (is (= 1 (count @test/list-of-commands))))))
Run Code Online (Sandbox Code Playgroud)

如果第一次is失败,我希望整个事情都失败。

tdd clojure

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

根据其他属性的存在设置maven属性

我有一个我在文档中提到的maven属性问题.从命令行我将输入属性"from.command".此属性将始终存在.

mvn deploy -Dfrom.command=COMMANDVALUE
Run Code Online (Sandbox Code Playgroud)

在pom.xml中我将指定另一个属性:

  <properties>
    <from.pom>POMVALUE</from.pom>
  </properties>
Run Code Online (Sandbox Code Playgroud)

此属性有时会在那里,有时则会丢失.

我想要一个名为used.value的第三个属性

我想将used.value设置为"from.pom"的值,如果该属性存在,否则应将其设置为"from.command"的值

这需要因为我需要从另一个脚本运行maven构建而我不希望脚本必须检查所有pom文件.

这可能吗?

java pom.xml maven

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

即使删除映像,Docker 堆栈部署最新映像也能正常工作

我有一个带有使用最新标签的容器的 docker compose 文件: code_site: image: code_site:latest deploy: restart_policy: condition: any volumes: - ../../data_to_backup/code_site/drupal_sites:/drupal_www/sites - drupal_core:/drupal_www/core - php_fpm_socket:/var/run/php-fpm7 networks: - main_net

我有一个过程可以重建容器。当我想对我的网站进行更改时,我会使用它。

我正在调查 docker stack deploy 命令的问题:( docker stack deploy --compose-file=docker-compose.yml code_site 堆栈名称恰好与图像名称匹配,但这是一个巧合。)

如果我经过以下过程: 删除 code_site:latest image (rmi code_site:latest) 重建一个新的 code_site:latest image 重新部署堆栈

它将调出容器的旧版本。这令人困惑,尤其是因为我删除了旧版本。

我更进一步,删除了 code_site 映像,然后运行了 stack deploy 命令。堆栈部署成功仍然运行旧版本的容器。

我可以使用 docker images 命令并验证没有名为 code_site:latest 的容器,所以我不知道堆栈可能如何部署。

任何人都可以解释图像是如何从死里复活的,我应该使用什么方法来永久摆脱它并强制 docker stack 使用真实图像?

谢谢罗伯特

更新 1

code_site 是一个本地构建的映像,我在 swarm 上运行,但 swarm 中只有一个节点

docker docker-swarm

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

为什么我们有 clojure memoize 功能?

我是 clojure 的新手,我刚刚学习并尝试了记忆功能。在我看来,这个功能的存在很奇怪。

首先具有副作用的函数以 !

其次使用记忆非常简单

为什么 clojure 不为我做这个?内存使用和性能之间存在平衡,但您可以轻松地让 clojure 运行时将一大块内存分配给函数结果。如果使用相同参数多次调用函数,则使用缓存结果,如果内存耗尽,则清除缓存并跟踪缓存命中,因此频繁调用的函数不太可能从缓存中删除。

如果我设计了这个,我什至会为函数设置一个最低性能级别,这样如果函数调用比缓存检索更快,它就不会被缓存。(或者将其作为所有函数调用工作方式的属性。)

谁能解释为什么 clojure 不这样做

谢谢

clojure

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

Python字典类型作为实例变量

我想我疯了.我在repel(python3)中执行了以下操作:

class aClass():
  da = {}

>>> a = aClass()
>>> b = aClass()
>>> a.da['T'] = 'Hello'
>>> print(a.da)
{'T': 'Hello'}
>>> print(b.da)
{'T': 'Hello'}
>>>
Run Code Online (Sandbox Code Playgroud)

a和b是同一类的两个不同实例.我分配了一些东西,为什么它出现在b?

我做了同样的但是使用字符串类型,完全没问题.

以下作品:

>>> a={}
>>> b={}
>>> print(a)
{}
>>> print(b)
{}
>>> a['x']='x'
>>> print(a)
{'x': 'x'}
>>> print(b)
{}
Run Code Online (Sandbox Code Playgroud)

但是,这是完全相同的事情不是吗?

python

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