gpt4 book ai didi

python - 如何让 Minio-client(来自主机)与 Minio-server(docker 容器)通信?

转载 作者:行者123 更新时间:2023-11-28 18:01:38 31 4
gpt4 key购买 nike

我在 docker-compose 的容器中运行一个 minio-server。我正在尝试使用 minio-client(python SDK)从主机(Ubuntu)(而不是容器)将文件上传到容器中的 minio-server。我没有让它按预期发生。我不清楚是因为我的端点(URL),还是因为容器和主机之间的连接问题?

我试过的端点:

url_1 = ' http://minio:9000 ' # 来 self 对 minio 链接的默认设置;

url_2 = ' http://localhost:9000/minio/test ' # 来自 Minio 浏览器。

对于 url_1,我得到的是:“botocore.exceptions.EndpointConnectionError:无法连接到端点 URL:http://minio:9000/test”。报错行:s3.create_bucket(Bucket='test')

对于 url_2,我得到的是:“已禁用对该存储桶的所有访问。”。报错行:s3.create_bucket(Bucket='test')

我尝试了类似的事情:在我的主机上激活我的 minio-server 和 minio-client。然后我将文件从 minio-client 上传到 minio-server。我可以在本地主机的 Minio 浏览器中看到那些上传的文件。

######### python脚本上传文件
import boto3

from botocore.client import Config

import os

import getpass

my_url1='http://minio:9000' # this is from os.environ['S3_URL']
my_url2='http://localhost:9000/minio/test' # this is from browser

s3 = boto3.resource('s3',
endpoint_url=my_url2,
aws_access_key_id=os.environ['USER'],
aws_secret_access_key = getpass.getpass('Password:'),
config = Config(signature_version='s3v4'),
region_name='us-east-1')

print ('********', s3)

s3.create_bucket(Bucket='test')

uploadfile= os.getcwd()+'/'+'test.txt'
s3.Bucket('testBucket').upload_file(uploadfile,'txt')
######### Minio 的 docker-yml 文件
minio:
image: minio/minio
entrypoint:
- minio
- server
-/data
ports:
- "9000:9000"
environment:
minio_access_key = username
minio_secret_key = password

mc:
image: minio/mc
environment:
minio_access_key = username
minio_secret_key = password
entrypoint:
/bin/sh -c
depends_on:
minio

我希望看到从 minio 浏览器上传的文件(' http://localhost:9000/minio/test '),就像我在主机上激活 minio-server 和 minio-client 所做的一样。

最佳答案

使用默认的 docker 网络,您必须尝试在 http://localhost:9000 访问 minio在你的主机上。所以你可以在你的 Python 脚本中使用这个 URL。 http://minio:9000将在与您的 minio 服务器相同的 docker 网络上的容器中工作。

关于python - 如何让 Minio-client(来自主机)与 Minio-server(docker 容器)通信?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55423376/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com