我对使用 docker 或任何容器还很陌生,所以如果我错过了其他人都已经知道的明显内容,请保持温和。我已经搜索了所有我能想到的地方,但还没有看到这个问题得到解决。
我试图评估在 docker 中运行基准测试的性能成本,我发现了令人惊讶的巨大差异,这些差异对我来说没有意义。我用这个 Dockerfile 创建了一个简单的 Docker 镜像:
FROM ubuntu:18.04
RUN apt -y -q update && apt -y -q install python3 vim strace linux-tools-common \
linux-tools-4.15.0-74-generic linux-cloud-tools-4.15.0-74-generic
ADD . /workspace
WORKDIR /workspace
Run Code Online (Sandbox Code Playgroud)
我有一个简单的python脚本用于测试:
$ cat cpu-test.py
#!/usr/bin/env python3
import math
from time import time
N = range(10)
N_i = range(1_000)
N_j = range(1_000)
x = 1
start = time()
for _ in N:
for i in N_i:
for j in N_j:
x += -1**j * math.sqrt(i)/max(j,2)
stop = …Run Code Online (Sandbox Code Playgroud) 我想在 docker 容器完成作业时关闭机器(主机)。
我的主机操作系统是 Ubuntu。
容器可以作为--privileged=true. 那不是问题。
我设法使用以下命令来做到这一点(在 stackoverflow 答案中找到):
subprocess.run("echo 1 > /proc/sys/kernel/sysrq; echo o > /proc/sysrq-trigger", shell=True, check=True)
Run Code Online (Sandbox Code Playgroud)
这种方法的问题是在 Linux 中会立即、不干净地关闭。
如果我尝试以干净的方式作为 a shutdown now,我会收到以下错误:System has not been booted with systemd as init system (PID 1). Can't operate.
如何在容器内使用 shutdown、halt 或其他替代方法来关闭主机?
我有一个 docker 容器,需要使用 --privileged 运行,以便在启动后建立 VPN 连接
我正在使用 Cloud Build 将其迁移到 Cloud Run
我尝试了 --container-privileged 但这似乎只适用于 GCE,我还在cloudbuild.yaml 中的调用中添加了以下内容,但它args抱怨gcloud run deployerror: "Invalid command \"docker run --privileged\": file not found anywhere in PATH
- --command
- docker run --privileged
Run Code Online (Sandbox Code Playgroud) docker google-cloud-platform google-cloud-build google-cloud-run docker-privileged