小编dza*_*ang的帖子

使用 Docker SDK for python 时如何将 Docker 容器输出流式传输到终端

我有一个 docker 容器,它执行一组操作并将输出打印到终端。在使用 Docker SDK for python 时,我无法弄清楚如何获取终端输出。

这是我想要实现的一个例子。假设我有一个包含以下文件的文件夹:

Project
  Dockerfile
  now.py
  dockerpy.py
Run Code Online (Sandbox Code Playgroud)

哪里now.py是一个简单的脚本,它每秒打印当前时间十秒钟:

# now.py

from datetime import datetime
import time

for _ in range(10):
    print(datetime.now())
    time.sleep(1)
Run Code Online (Sandbox Code Playgroud)

Dockerfile为运行脚本的容器构建映像:

FROM python
ADD . /code
ENTRYPOINT ["python", "/code/now.py"]
Run Code Online (Sandbox Code Playgroud)

使用 构建映像后docker build -t dpytest .,我运行dockerpy.py以启动容器:

# dockerpy.py

import docker
from datetime import datetime

if __name__ == '__main__':

    client = docker.from_env()
    print('{} - Starting\n'.format(datetime.now()))
    container = client.containers.run("dpytest", detach=True)
    for line in container.logs(stream=True):
        print(line.strip())
    print('\n{} - …
Run Code Online (Sandbox Code Playgroud)

python bash shell stdout docker

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

Minio:启动Minio服务器时,如何使安装点中的文件夹和文件可用?

我正在使用其docker映像运行Minio服务器。

docker run -p 9000:9000 --name minio1 \
  -e "MINIO_ACCESS_KEY=user" \
  -e "MINIO_SECRET_KEY=pass" \
  -v /home/me/data:/data \
  minio/minio server /data
Run Code Online (Sandbox Code Playgroud)

我有几个文件夹,其中的文件位于挂载点。如何在Minio中使用它们,我需要上传它们吗?

初始化服务器时,可以将它们放在文件夹中并添加为存储桶吗?

编辑:

当我打开minio Web UI时,localhost:9000看不到安装点已经存在的文件和文件夹。

将所有这些文件夹添加到minio服务器的最有效方法是,为树中的第一个文件夹创建存储桶,然后将每个文件夹内的所有文件作为对象添加到其“文件夹”存储桶中?我可以使用Minio Python SDK来实现此目的,例如,通过递归地遍历文件夹树并上传文件,但这是否必要?

amazon-s3 docker minio

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

标签 统计

docker ×2

amazon-s3 ×1

bash ×1

minio ×1

python ×1

shell ×1

stdout ×1