小编s.k*_*s.k的帖子

Compose 文件中的 --add-host=host.docker.internal:host-gateway 等效项是什么

从 Docker 版本20.10https://github.com/moby/moby/pull/40007)开始,有一个新的特殊字符串host-gateway,可以在--add-host运行标志中使用,以允许从 docker 容器内部直接连接到本地计算机在基于 Linux 的系统上。这非常好。

--add-host=host.docker.internal:host-gateway但是Compose 文件中的等价物是什么?

例如在:

$ docker run \
  --rm \
  --name postgres \
  -p "5433:5432" \
  -e POSTGRES_PASSWORD=**** \
  --add-host=host.docker.internal:host-gateway \
  -d postgres:14.1-bullseye
Run Code Online (Sandbox Code Playgroud)

相同的标志如何--add-host适合这个 Docker Compose 等效模板:

version: '3.9'

services:
  postgres:
    image: postgres:14.1-bullseye
    environment:
      POSTGRES_PASSWORD: ****
    ports:
      - "5433:5432"
Run Code Online (Sandbox Code Playgroud)

肯定不是:network_mode: host在服务级别(参见#Doc)。

linux docker docker-compose docker-network

49
推荐指数
1
解决办法
8万
查看次数

避免在 pgAdmin 的数据输出选项卡中以最大宽度显示列

pgAdmin4(版本 5.5)中,当SELECT * FROM tablename;执行查询时,可以在底部面板上名为“数据输出”的选项卡下看到指定表的选定列的结果记录。

问题截图

如果该表的列包含非常长的数据字符串,例如,当编码为 JSON 对象或任何PostGIS复杂几何图形时,它们的宽度可能会非常大,这会对用户体验产生负面影响。因为当人们尝试抓住并移动微小的水平滑块时,转到某些列就变成了子像素游戏(例如,移动滑块半个像素可以将几列移动超过屏幕宽度的 2 倍......)。

我错过了设置中的某些内容吗?
有没有办法解决这个问题,例如通过设置列的最大宽度值?因为当使用开箱即用的 pgAdmin 时,它们是完全扩展的......

我记得早期版本(4.x)中并非如此。

我正在使用最新的dockerized版本(5.5),如 pgAdmin4文档中所述,可在此处获取:https ://hub.docker.com/r/dpage/pgadmin4/

操作系统:Ubuntu 18.04
网页浏览器:Firefox 89.0.2(64 位)

pgadmin-4

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

Python3 问题的 PIP 安装:考虑将此目录添加到 PATH

我试图通过终端在python 中安装pip,但在终端中有这个警告。 $ python get-pip.py

Python3.8
MacOS Catalina

请帮助:(。我一直试图寻找答案几天

WARNING: The scripts pip, pip3 and pip3.8 are installed in '/Library/Frameworks/Python.framework/Versions/3.8/bin' which is not on PATH.
  Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
Run Code Online (Sandbox Code Playgroud)

python installation pip path

22
推荐指数
4
解决办法
3万
查看次数

路由和端点之间的区别?

题:

我有一个可能相当简单的问题,但我无法找到带有很好解释的答案:

在/应用程序中开发的 RESTful API 上下文中的路由端点之间有什么区别(如果有的话)(但这些概念可能更广泛?!...)? (它是否以某种方式与 URL 相关?)Node.jsExpress


例子:

例如,在这篇文章中:https : //medium.com/@purposenigeria/build-a-restful-api-with-node-js-and-express-js-d7e59c7a3dfb我们可以读到:

我们导入了在课程开始时安装的 express,app.get 向服务器发出 get 请求,并提供路由/端点作为第一个参数,端点旨在返回数据库中的所有待办事项。

这些概念可以互换使用,这让我感到困惑。
(请注意,我是 REST API、nodejs 和 express 的 100% 初学者,但我会尽力学习)。

编辑
按时间顺序排列的前两个答案让我更加困惑,因为它们完全是对立的。

routes endpoint node.js

18
推荐指数
4
解决办法
9775
查看次数

创建基于psycopg3的SQLAlchemy引擎

我需要将以下代码升级为基于psycopg版本 3 的等效代码:

import psycopg2
from sqlalchemy import create_engine

engine = create_engine('postgresql+psycopg2://', creator=connector)
Run Code Online (Sandbox Code Playgroud)

这个 psycopg2 URL 很有魅力,但是:

import psycopg # v3.1
from sqlalchemy import create_engine

engine = create_engine('postgresql+psycopg://', creator=connector)
Run Code Online (Sandbox Code Playgroud)

(我也尝试过“psycopg3”这个词但没有成功)

返回:

Traceback (most recent call last):

  File "/tmp/ipykernel_1032556/253047102.py", line 1, in <cell line: 1>
    engine = create_engine('postgresql+psycopg://', creator=connector)

  File "<string>", line 2, in create_engine

  File "/usr/local/lib/python3.10/dist-packages/sqlalchemy/util/deprecations.py", line 309, in warned
    return fn(*args, **kwargs)

  File "/usr/local/lib/python3.10/dist-packages/sqlalchemy/engine/create.py", line 534, in create_engine
    entrypoint = u._get_entrypoint()

  File "/usr/local/lib/python3.10/dist-packages/sqlalchemy/engine/url.py", line 661, in _get_entrypoint …
Run Code Online (Sandbox Code Playgroud)

python sqlalchemy psycopg2 psycopg3

15
推荐指数
2
解决办法
8328
查看次数

导入opencv时Python3重新链接问题

题:

尝试从Ubuntu 18.04 上的github导入最新编译的最新可用OpenCV版本后,出现分段错误。

这是我尝试cv2Python 3 中导入时收到的错误消息:

$ python3
Python 3.6.8 (default, Aug 20 2019, 17:12:48) 
[GCC 8.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import cv2
python3: Relink `/lib/x86_64-linux-gnu/libsystemd.so.0' with `/lib/x86_64-linux-gnu/librt.so.1' for IFUNC symbol `clock_gettime'
python3: Relink `/lib/x86_64-linux-gnu/libudev.so.1' with `/lib/x86_64-linux-gnu/librt.so.1' for IFUNC symbol `clock_gettime'
Segmentation fault (core dumped)
Run Code Online (Sandbox Code Playgroud)

我的 Ubuntu; 5.0.0-29-generic x86_64 GNU/Linux

从我克隆 OpenCV 的地方;https://github.com/opencv/opencv

相关主题;
在 ubuntu amazon 实例中导入 cv2 模块时出错
在 Ubuntu …

opencv segmentation-fault python-3.x

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

通过 SHA 摘要搜索 docker hub 注册表镜像/层

如果您曾经在https://hub.docker.com上仔细浏览过 docker 镜像,您可能曾经剖析过在某个标签内组成感兴趣的镜像的所有命令

很好,但是当您单击命令的特定行时,您可能会看到这种“翻译”命令:

来自...某处的 Docker 文件

我在这里可能是错的,因为我不是 Docker 专家,但这似乎是SHA-256摘要,它指的是...... Hub 内的其他内容。

我的问题是;知道 SHA 值 ( ) 后,如何找到它到底指的是什么3a7bff4e139bcacc5831fd70a035c130a91b5da001dd91c08b2acd635c7064e8

docker dockerhub docker-registry

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

docker 中的 wget 打印数千行来显示进度而不是单行进度条

当我wget从 GitHub 获取文件时,它会显示一个漂亮的单行进度条,如下所示:

wget -N http://db.sqlite.zip
db.sqlite.zip   28%[====>                       ]  68.79M   370KB/s    eta 5m 53s 
Run Code Online (Sandbox Code Playgroud)

但是,如果我 在启动容器时以完全相同的方式wget运行命令,作为 bash 脚本来获取一些数据,它会打印数千行,显然对于下载的每 50K 位:

app_1  |      0K .......... .......... .......... ..........  0%  212K 19m12s
app_1  |     50K .......... .......... .......... ..........  0%  426K 14m22s
app_1  |    100K .......... .......... .......... ..........  0% 38.4M 9m37s
app_1  |    150K .......... .......... .......... ..........  0%  430K 9m35s
app_1  |    200K .......... .......... .......... ..........  0% 33.9M 7m41s
...
Run Code Online (Sandbox Code Playgroud)

+很多...很多这样的行(它实际上填充了标准输出缓冲区,但我不想)。

我怎样才能获得与主机上相同的行为,例如显示一行进度条?当然如果可以的话。否则我就简单地-q结束了。

wget docker

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

当该文件作为卷挂载时,pgpass 文件在 pgadmin4 docker 容器中的位置

我使用以下图像https://hub.docker.com/r/dpage/pgadmin4/在 Ubuntu 18-04 上设置 pgAdmin4。

我已经安装了一个包含文件的卷pgpass(该文件也chmodpgadmin容器内的用户使用),如您在我的 Compose 文件中看到的那样:

version: '3.8'
services:
  pgadmin4:
    image: dpage/pgadmin4
    container_name: pgadmin4
    environment:
      - PGADMIN_DEFAULT_EMAIL=me@localhost
      - PGADMIN_DEFAULT_PASSWORD=******************
      - PGADMIN_LISTEN_PORT=5050
      - PGADMIN_SERVER_JSON_FILE=servers.json
    volumes:
      - ./config/servers.json:/pgadmin4/servers.json # <-- this file is well taken into account
      - ./config/pgpass:/pgpass # <- there is no way to find this one on the other hand
    ports:
      - "5000:5000"
    restart: unless-stopped
    network_mode: host
Run Code Online (Sandbox Code Playgroud)

但是,当我右键单击服务器并检查其高级属性时,pgadmin 网页似乎无法识别它:

pgadmin 界面中没有 pgpass 文件

如果我/pgpass在顶部绿色框中手动指定图像中只有斜杠的位置,则会显示:

未找到 pgpass

但是如果我登录到容器,我实际上可以列出该文件:

/ $ ls -larth /pgpass
-rw------- …
Run Code Online (Sandbox Code Playgroud)

docker pgadmin-4

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

使用数据框中的列为 seaborn 图的背景着色

如何使用数据的列对seaborn图的背景进行着色或着色?

代码片段

import numpy as np
import seaborn as sns; sns.set()
import matplotlib.pyplot as plt
fmri = sns.load_dataset("fmri")
fmri.sort_values('timepoint',inplace=True)
ax = sns.lineplot(x="timepoint", y="signal", data=fmri)
arr = np.ones(len(fmri))
arr[:300] = 0
arr[600:] = 2
fmri['background'] = arr

ax = sns.lineplot(x="timepoint", y="signal", hue="event", data=fmri)
Run Code Online (Sandbox Code Playgroud)

产生了这张图:
实际产量

期望输出

我想要什么,根据新列中的值'background'和任何调色板或用户定义的颜色,如下所示:

期望输出

python graph dataframe pandas seaborn

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