我有一个 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) 我正在使用其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来实现此目的,例如,通过递归地遍历文件夹树并上传文件,但这是否必要?