рдореБрдЦреНрдп рд╕рд╛рдордЧреНрд░реА рдкрд░ рдЬрд╛рдПрдБ

MinIO Docker: S3-рд╕рдВрдЧрдд рдСрдмреНрдЬреЗрдХреНрдЯ рд╕реНрдЯреЛрд░реЗрдЬ рдХреЗ рд▓рд┐рдП рд╕реЗрдЯрдЕрдк рдЧрд╛рдЗрдб

рд▓реЛрдХрд▓ рдбреЗрд╡рд▓рдкрдореЗрдВрдЯ рдХреЗ рд▓рд┐рдП S3-рд╕рдВрдЧрдд рдСрдмреНрдЬреЗрдХреНрдЯ рд╕реНрдЯреЛрд░реЗрдЬ рдкрд╛рдиреЗ рд╣реЗрддреБ Docker рдХреЗ рд╕рд╛рде MinIO рдЪрд▓рд╛рдПрдБ тАФ рд╕реЗрдЯрдЕрдк, рдкрд░рд╕рд┐рд╕реНрдЯреЗрдВрдЯ рд╡реЙрд▓реНрдпреВрдореНрд╕, рдЯреНрд░рдмрд▓рд╢реВрдЯрд┐рдВрдЧ, рдФрд░ рдбрд┐рд╕реНрдЯреНрд░реАрдмреНрдпреВрдЯреЗрдб рдореЛрдб рдХрдм рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ, рд╕рдм рд╢рд╛рдорд┐рд▓ред
┬╖ 15 рдорд┐ре░ рдкрдврд╝реЗрдВ

AI рдХреЗ рд╕рд╛рде рдЦреЛрдЬреЗрдВ

рдХреНрдпрд╛ рдЖрдкрдХреЛ рдбреЗрд╡рд▓рдкрдореЗрдВрдЯ рдХреЗ рд▓рд┐рдП рдСрдмреНрдЬреЗрдХреНрдЯ рд╕реНрдЯреЛрд░реЗрдЬ рдЪрд╛рд╣рд┐рдП, рд▓реЗрдХрд┐рди AWS S3 рд╕реЗрдЯрдЕрдк рдХрд░рдирд╛ рдФрд░ рдЙрд╕рдХреЗ рд▓рд┐рдП рднреБрдЧрддрд╛рди рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ?

MinIO рдЖрдкрдХреЛ S3-рд╕рдВрдЧрдд рд╕реНрдЯреЛрд░реЗрдЬ рджреЗрддрд╛ рд╣реИ рдЬреЛ рдХрд╣реАрдВ рднреА рдЪрд▓ рд╕рдХрддрд╛ рд╣реИтАФрдЖрдкрдХреЗ рд▓реИрдкрдЯреЙрдк, рдХрд┐рд╕реА VM, рдпрд╛ Kubernetes рдХреНрд▓рд╕реНрдЯрд░ рдкрд░ред рдпрд╣ рдУрдкрди-рд╕реЛрд░реНрд╕ рд╣реИ, рдпрд╛рдиреА рдпрд╣ рд╡реЗрдВрдбрд░-рдПрдЧреНрдиреЛрд╕реНрдЯрд┐рдХ рд╣реИ рдФрд░ рдорд╣реАрдиреЗ рдХреЗ рдЕрдВрдд рдореЗрдВ рдХреЛрдИ рдЕрдирдкреЗрдХреНрд╖рд┐рдд рдмрд┐рд▓ рдирд╣реАрдВ рдЖрдПрдЧрд╛ред рдФрд░ Docker рдХреЗ рд╕рд╛рде рдорд┐рд▓рдХрд░, MinIO рдЪрд▓рд╛рдирд╛ рдФрд░ рднреА рдЖрд╕рд╛рди рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЖрдк рдЕрдкрдиреА рдорд╢реАрди рдкрд░ рдХреБрдЫ рднреА рд╕реАрдзреЗ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд┐рдП рдмрд┐рдирд╛ рдХреБрдЫ рд╣реА рд╕реЗрдХрдВрдб рдореЗрдВ рд╕реНрдЯреЛрд░реЗрдЬ рд╕рд░реНрд╡рд░ рд╕реНрдкрд┐рди-рдЕрдк рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

Docker рдХрдВрдЯреЗрдирд░ MinIO рдХреЛ рдЖрдкрдХреЗ рд╕рд┐рд╕реНрдЯрдо рд╕реЗ рдЕрд▓рдЧ рд░рдЦрддреЗ рд╣реИрдВ рдФрд░ рд╕рд╛рде рд╣реА рдЖрдкрдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдФрд░ рдбреЗрдЯрд╛ рдкрд░рд╕рд┐рд╕реНрдЯреЗрдВрд╕ рдкрд░ рдкреВрд░рд╛ рдирд┐рдпрдВрддреНрд░рдг рджреЗрддреЗ рд╣реИрдВред рдЖрдк рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ S3 API рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдкреНрд░реЛрдбрдХреНрд╢рди рд╕реНрдЯреЛрд░реЗрдЬ рд╕реЗрдЯрдЕрдк рдХрд╛ рдореЙрдХ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдпрд╛ рдЫреЛрдЯреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯреНрд╕ рдХреЗ рд▓рд┐рдП рд╣рд▓реНрдХрд╛-рдлреБрд▓реНрдХрд╛ рдСрдмреНрдЬреЗрдХреНрдЯ рд╕реНрдЯреЛрд░реЗрдЬ рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВред

рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ, рдореИрдВ рдЖрдкрдХреЛ рджрд┐рдЦрд╛рдКрдВрдЧрд╛ рдХрд┐ Docker рдХреЗ рд╕рд╛рде MinIO рдХреИрд╕реЗ рдЪрд▓рд╛рдПрдВ, рдпрд╣ рдХреИрд╕реЗ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдпрд╣ рд╕рд╣реА рд╕реЗ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ, рдФрд░ рд╕рдмрд╕реЗ рдЖрдо рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╡рд┐рдХрд▓реНрдк рдХреИрд╕реЗ рд╕реЗрдЯ рдХрд░реЗрдВред

рдпрджрд┐ рдЖрдк Docker рдореЗрдВ рдмрд┐рд▓реНрдХреБрд▓ рдирдП рд╣реИрдВ, рддреЛ рдмреБрдирд┐рдпрд╛рджреА рдмрд╛рддреЛрдВ рдореЗрдВ рдорд╣рд╛рд░рдд рд╣рд╛рд╕рд┐рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╢рдирд┐рд╡рд╛рд░ рджреЛрдкрд╣рд░ рджреЗрдВтАФDataCamp рдХрд╛ Introduction to Docker рдХреЛрд░реНрд╕ рдЖрдкрдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИред

рдкреВрд░реНрд╡рд╛рдкреЗрдХреНрд╖рд╛рдПрдБ

Docker рдХреЗ рд╕рд╛рде MinIO рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рддреАрди рдЪреАрдЬрд╝реЛрдВ рдХреА рдЬрд╝рд░реВрд░рдд рд╣реИред

Docker рдЗрдВрд╕реНрдЯреЙрд▓ рдФрд░ рд░рдирд┐рдВрдЧ рдЖрдкрдХреА рдорд╢реАрди рдкрд░ред рдЖрдк рдЯрд░реНрдорд┐рдирд▓ рдореЗрдВ docker --version рдЪрд▓рд╛рдХрд░ рдЗрд╕рдХреА рдкреБрд╖реНрдЯрд┐ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрджрд┐ рдЖрдкрдХреЛ рд╕рдВрд╕реНрдХрд░рдг рд╕рдВрдЦреНрдпрд╛ рдорд┐рд▓рддреА рд╣реИ, рддреЛ рдЖрдк рддреИрдпрд╛рд░ рд╣реИрдВред

рдореВрд▓рднреВрдд рдЬрд╛рдирдХрд╛рд░реА Docker commands рдХреАред рдЖрдкрдХреЛ рдХрдВрдЯреЗрдирд░ рд╢реБрд░реВ/рдмрдВрдж рдХрд░рдирд╛, рд▓реЙрдЧ рджреЗрдЦрдирд╛, рдФрд░ Docker рдЗрдореЗрдЬ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рдЖрдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрджрд┐ рдЖрдкрдиреЗ docker run рдЪрд▓рд╛рдпрд╛ рд╣реИ рдпрд╛ рдкрд╣рд▓реЗ Docker Compose рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд┐рдпрд╛ рд╣реИ, рддреЛ рдЖрдк рдареАрдХ рд░рд╣реЗрдВрдЧреЗред

рдкрд░рд╕рд┐рд╕реНрдЯреЗрдВрдЯ рд╕реНрдЯреЛрд░реЗрдЬ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реНрдерд╛рдиреАрдп рдбрд╛рдпрд░реЗрдХреНрдЯрд░реАред MinIO рдХреЛ рдЖрдкрдХреЗ рдбреЗрдЯрд╛ рдХреЛ рдХрдВрдЯреЗрдирд░ рдХреЗ рдмрд╛рд╣рд░ рд╕реНрдЯреЛрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЬрдЧрд╣ рдЪрд╛рд╣рд┐рдПред рдЕрдкрдиреА рд╣реЛрд╕реНрдЯ рдорд╢реАрди рдкрд░ рдПрдХ рдЦрд╛рд▓реА рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдмрдирд╛рдПрдВтАФрдЬреИрд╕реЗ ~/minio/data рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

рдмрд╕ рдЗрддрдирд╛ рд╣реАред рд╕реВрдЪреА рдЫреЛрдЯреА рдФрд░ рд╕рд░рд▓ рд╣реИ, рд▓реЗрдХрд┐рди рдЖрдЧреЗ рдмрдврд╝рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдЖрдк рд╕рднреА рдмреЙрдХреНрд╕ рдЯрд┐рдХ рдХрд░ рдЪреБрдХреЗ рд╣реИрдВред

Docker рдХреЗ рд╕рд╛рде MinIO рдХреИрд╕реЗ рдЪрд▓рд╛рдПрдБ (рд╕рд┐рдВрдЧрд▓-рдиреЛрдб рд╕реЗрдЯрдЕрдк)

рд╕рд┐рдВрдЧрд▓-рдиреЛрдб MinIO рд╕реЗрдЯрдЕрдк Docker рдХрдВрдЯреЗрдирд░ рдореЗрдВ MinIO рдХрд╛ рдПрдХ рдЗрдВрд╕реНрдЯреЗрдВрд╕ рдЪрд▓рд╛рддрд╛ рд╣реИ рдФрд░ рдЖрдкрдХрд╛ рд╕рд╛рд░рд╛ рдбреЗрдЯрд╛ рдПрдХ рд╣реА рд╕реНрдерд╛рди рдкрд░ рд╕реНрдЯреЛрд░ рдХрд░рддрд╛ рд╣реИред

рдпрд╣ рд╕реЗрдЯрдЕрдк рдбреЗрд╡рд▓рдкрдореЗрдВрдЯ, рдЯреЗрд╕реНрдЯрд┐рдВрдЧ, рдФрд░ рдЫреЛрдЯреЗ рдкреИрдорд╛рдиреЗ рдХреЗ рдкреНрд░реЛрдбрдХреНрд╢рди рд╡рд░реНрдХрд▓реЛрдбреНрд╕ рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдЬрд╣рд╛рдБ рдЖрдкрдХреЛ рд╣рд╛рдИ-рдПрд╡реЗрд▓реЗрдмрд┐рд▓рд┐рдЯреА рдпрд╛ рдбрд┐рд╕реНрдЯреНрд░реАрдмреНрдпреВрдЯреЗрдб рд╕реНрдЯреЛрд░реЗрдЬ рдХреА рдЬрд╝рд░реВрд░рдд рдирд╣реАрдВ рд╣реЛрддреАред рдЖрдк рдмрд┐рдирд╛ рдорд▓реНрдЯреАрдкрд▓ рдиреЛрдбреНрд╕ рдХреА рдЬрдЯрд┐рд▓рддрд╛ рдХреЗ рдлреБрд▓ S3 API рдХрдореНрдкреИрдЯрд┐рдмрд┐рд▓рд┐рдЯреА рдкрд╛рддреЗ рд╣реИрдВред

Docker Run рдХреЗ рд╕рд╛рде MinIO рдЪрд▓рд╛рдирд╛

docker run рдХрдорд╛рдВрдб рдПрдХ рдирдИ рд▓рд╛рдЗрди рдореЗрдВ рд╕рдм рдХреБрдЫ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдХреЗ MinIO рдХреЛ рдПрдХ рдирдП рдХрдВрдЯреЗрдирд░ рдореЗрдВ рд╢реБрд░реВ рдХрд░рддрд╛ рд╣реИред

рдореВрд▓ рдХрдорд╛рдВрдб рдпрд╣ рд╣реИ:

docker run -p 9000:9000 -p 9001:9001 \
  --name minio \
  -v ~/minio/data:/data \
  -e "MINIO_ROOT_USER=admin" \
  -e "MINIO_ROOT_PASSWORD=password123" \
  quay.io/minio/minio server /data --console-address ":9001"

Image 1 - Running MinIO with docker run

docker run рдХреЗ рд╕рд╛рде MinIO рдЪрд▓рд╛рдирд╛

рдЖрдЗрдП рджреЗрдЦреЗрдВ рдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рднрд╛рдЧ рдХреНрдпрд╛ рдХрд░рддрд╛ рд╣реИред

  • рдкреЛрд░реНрдЯ 9000 API рдПрдВрдбрдкреЙрдЗрдВрдЯ рд╣реИ рдЬрд╣рд╛рдБ рдЖрдкрдХреА рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдлрд╝рд╛рдЗрд▓реЗрдВ рдЕрдкрд▓реЛрдб рдФрд░ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдиреЗрдХреНрдЯ рдХрд░рддреА рд╣реИрдВред рдпрд╣реАрдВ S3-рд╕рдВрдЧрдд рдХреНрд▓рд╛рдЗрдВрдЯ рдЕрдкрдиреЗ рдЕрдиреБрд░реЛрдз рднреЗрдЬрддреЗ рд╣реИрдВред

  • рдкреЛрд░реНрдЯ 9001 рд╡рд╣ рд╡реЗрдм рдХрдВрд╕реЛрд▓ рд╣реЛрд╕реНрдЯ рдХрд░рддрд╛ рд╣реИ рдЬрд╣рд╛рдБ рдЖрдк рдмрдХреЗрдЯ рдореИрдиреЗрдЬ рдХрд░рддреЗ рд╣реИрдВ, рдЕрдиреБрдорддрд┐рдпрд╛рдБ рд╕реЗрдЯ рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рд╕реНрдЯреЛрд░реЗрдЬ рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХрд░рддреЗ рд╣реИрдВред рдЖрдк рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдпрд╣ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд░реЗрдВрдЧреЗ рдХрд┐ MinIO рд╕рд╣реА рд╕реЗ рдЪрд▓ рд░рд╣рд╛ рд╣реИред

  • -v ~/minio/data:/data рдлреНрд▓реИрдЧ рдЖрдкрдХреА рд▓реЛрдХрд▓ рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдХреЛ рдХрдВрдЯреЗрдирд░ рдХреЗ рд╕реНрдЯреЛрд░реЗрдЬ рд▓реЛрдХреЗрд╢рди рд╕реЗ рдореИрдк рдХрд░рддрд╛ рд╣реИред MinIO рдЬреЛ рдХреБрдЫ рднреА рд╕реНрдЯреЛрд░ рдХрд░рддрд╛ рд╣реИ рд╡рд╣ рдЖрдкрдХреА рд╣реЛрд╕реНрдЯ рдорд╢реАрди рдкрд░ ~/minio/data рдореЗрдВ рдЬрд╛рддрд╛ рд╣реИред рдЬрдм рдЖрдк рдХрдВрдЯреЗрдирд░ рдХреЛ рд░реЛрдХрддреЗ рдпрд╛ рд╣рдЯрд╛рддреЗ рд╣реИрдВ, рдЖрдкрдХрд╛ рдбреЗрдЯрд╛ рдЗрд╕ рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдореЗрдВ рд╕реБрд░рдХреНрд╖рд┐рдд рд░рд╣рддрд╛ рд╣реИред

  • Environment variables рдЖрдкрдХреА рдПрдХреНрд╕реЗрд╕ рдХреНрд░реЗрдбреЗрдВрд╢рд┐рдпрд▓реНрд╕ рд╕реЗрдЯ рдХрд░рддреА рд╣реИрдВред MINIO_ROOT_USER рдЖрдкрдХрд╛ рдПрдбрдорд┐рди рдпреВрдЬрд╝рд░рдиреЗрдо рд╣реИ рдФрд░ MINIO_ROOT_PASSWORD рдкрд╛рд╕рд╡рд░реНрдбред рдЗрдиреНрд╣реАрдВ рдХреНрд░реЗрдбреЗрдВрд╢рд┐рдпрд▓реНрд╕ рд╕реЗ рдЖрдк рд╡реЗрдм рдХрдВрд╕реЛрд▓ рдореЗрдВ рд▓реЙрдЧрд┐рди рдХрд░реЗрдВрдЧреЗ рдФрд░ API рдПрдХреНрд╕реЗрд╕ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВрдЧреЗред

  • server /data рдЖрд░реНрдЧреНрдпреБрдореЗрдВрдЯ MinIO рдХреЛ рд╕рд░реНрд╡рд░ рдореЛрдб рдореЗрдВ рдЪрд▓рдиреЗ рдФрд░ /data рдХреЛ рд╕реНрдЯреЛрд░реЗрдЬ рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЛ рдХрд╣рддрд╛ рд╣реИред --console-address ":9001" рдлреНрд▓реИрдЧ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рд╡реЗрдм рдХрдВрд╕реЛрд▓ рдХрд┐рд╕ рдкреЛрд░реНрдЯ рдкрд░ рд╕реБрдиреЗрдЧрд╛ред

MinIO рдЪрд▓рд╛рдиреЗ рдХрд╛ рдПрдХ рд╡реИрдХрд▓реНрдкрд┐рдХ рддрд░реАрдХрд╛ рднреА рд╣реИ рдЬреЛ рдмрдврд╝рд┐рдпрд╛ рд╣реИ рдЕрдЧрд░ рдЖрдкрдХреЛ рд▓рдВрдмреА, рдорд▓реНрдЯреА-рд▓рд╛рдЗрди рдЯрд░реНрдорд┐рдирд▓ рдХрдорд╛рдВрдб рдкрд╕рдВрдж рдирд╣реАрдВред

рдиреЛрдЯ: MinIO рдЕрдм рдЕрдкрдиреЗ Docker Hub рдФрд░ Quay рдЗрдореЗрдЬреЗрдЬрд╝ рдХреЛ рдЕрдкрдбреЗрдЯ рдирд╣реАрдВ рдХрд░рддрд╛ (рдЕрдХреНрдЯреВрдмрд░ 2025 рд╕реЗ)ред рдЗрд╕ рд▓реЗрдЦ рдХрд╛ рдХреЛрдб рд▓реЛрдХрд▓ рдбреЗрд╡рд▓рдкрдореЗрдВрдЯ рдХреЗ рд▓рд┐рдП рдЕрдм рднреА рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдкреНрд░реЛрдбрдХреНрд╢рди рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП, Chainguard рдХреА MinIO рдЗрдореЗрдЬ (cgr.dev/chainguard/minio:latest) рдЬреИрд╕реА рдореЗрдВрдЯреЗрдВрдб рд╡реИрдХрд▓реНрдкрд┐рдХ рдЗрдореЗрдЬ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред

Docker Compose рдХреЗ рд╕рд╛рде MinIO рдЪрд▓рд╛рдирд╛

Docker Compose рдЖрдкрдХреЛ рд▓рдВрдмреА рдХрдорд╛рдВрдб рдЯрд╛рдЗрдк рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп YAML рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдЕрдкрдирд╛ MinIO рд╕реЗрдЯрдЕрдк рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рджреЗрддрд╛ рд╣реИред

рдЗрд╕рд╕реЗ рдЖрдкрдХрд╛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рджреЛрд╣рд░рд╛рдиреЗ рдпреЛрдЧреНрдп рдФрд░ рд╡рд░реНрдЬрд╝рди-рдХрдВрдЯреНрд░реЛрд▓реНрдб рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рдЖрдк рдлрд╝рд╛рдЗрд▓ рдЯреАрдо рдХреЗ рд╕рд╛рде рд╕рд╛рдЭрд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЗрд╕реЗ git рдореЗрдВ рдХрдорд┐рдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рд╣рд░ рдмрд╛рд░ рдмрд┐рд▓реНрдХреБрд▓ рд╡рд╣реА рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЗ рд╕рд╛рде MinIO рдХреЛ рд░реАрд╕реНрдЯрд╛рд░реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдПрдХ docker-compose.yml рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдПрдБ:

services:
  minio:
    image: quay.io/minio/minio
    container_name: minio
    ports:
      - "9000:9000"
      - "9001:9001"
    environment:
      MINIO_ROOT_USER: admin
      MINIO_ROOT_PASSWORD: password123
    volumes:
      - ./minio/data:/data
    command: server /data --console-address ":9001"

рдпрд╣ рд╕рдВрд░рдЪрдирд╛ docker run рдХрдорд╛рдВрдб рдХрд╛ рдкреНрд░рддрд┐рдмрд┐рдВрдм рд╣реИ, рд▓реЗрдХрд┐рди рд╕рдм рдХреБрдЫ рдирд╛рдорд┐рдд рд╕реЗрдХреНрд╢рдиреЛрдВ рдореЗрдВ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░рддреА рд╣реИред рдкреЛрд░реНрдЯреНрд╕, environment variables, рдФрд░ рд╡реЙрд▓реНрдпреВрдо рдХреЗ рдЕрдкрдиреЗ-рдЕрдкрдиреЗ рдмреНрд▓реЙрдХ рд╣реИрдВред

рд╡реЙрд▓реНрдпреВрдо рдореИрдкрд┐рдВрдЧ рдЙрд╕реА рддрд░рд╣ рдХрд╛рдо рдХрд░рддреА рд╣реИтАФ./minio/data:/data рдЖрдкрдХреА рд╡рд░реНрддрдорд╛рди рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдПрдХ рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдмрдирд╛рддрд╛ рд╣реИ рдФрд░ рдЙрд╕реЗ рдХрдВрдЯреЗрдирд░ рд╕реЗ рдорд╛рдЙрдВрдЯ рдХрд░рддрд╛ рд╣реИред ./ рдХрд╛ рдЕрд░реНрде рд╣реИ рдЙрд╕реА рд╕реНрдерд╛рди рдХреЗ рд╕рд╛рдкреЗрдХреНрд╖ рдЬрд╣рд╛рдБ рдпрд╣ docker-compose.yml рдлрд╝рд╛рдЗрд▓ рдореМрдЬреВрдж рд╣реИред

рдЕрдм рдЖрдк MinIO рдЗрд╕ рддрд░рд╣ рд╢реБрд░реВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

docker-compose up -d

Image 2 - Running MinIO with docker compose

docker compose рдХреЗ рд╕рд╛рде MinIO рдЪрд▓рд╛рдирд╛

-d рдлреНрд▓реИрдЧ рдХрдВрдЯреЗрдирд░ рдХреЛ рдмреИрдХрдЧреНрд░рд╛рдЙрдВрдб рдореЗрдВ рдЪрд▓рд╛рддрд╛ рд╣реИред рдЖрдкрдХрд╛ рдЯрд░реНрдорд┐рдирд▓ MinIO рд▓реЙрдЧ рд╕реЗ рдмреНрд▓реЙрдХ рдирд╣реАрдВ рд╣реЛрдЧрд╛, рдФрд░ рдЯрд░реНрдорд┐рдирд▓ рдмрдВрдж рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рднреА рдХрдВрдЯреЗрдирд░ рдЪрд▓рддрд╛ рд░рд╣реЗрдЧрд╛ред

рдЗрд╕реЗ рдЗрд╕ рддрд░рд╣ рд░реЛрдХреЗрдВ:

docker-compose down

рдбреЗрд╡рд▓рдкрдореЗрдВрдЯ рдХреЗ рд▓рд┐рдП Compose рдмреЗрд╣рддрд░ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЖрдк рд╣реЗрд▓реНрдердЪреЗрдХ, рд░рд┐рд╕реНрдЯрд╛рд░реНрдЯ рдкреЙрд▓рд┐рд╕реА, рдФрд░ рдПрдХ рд╣реА рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдорд▓реНрдЯреАрдкрд▓ рд╕рд░реНрд╡рд┐рд╕реЗрдЬрд╝ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред рдпрджрд┐ рдЖрдкрдХреЛ рдмрд╛рдж рдореЗрдВ MinIO рдХреЗ рд╕рд╛рде рдХрд┐рд╕реА рдбреЗрдЯрд╛рдмреЗрд╕ рдпрд╛ рдЕрдиреНрдп рд╕реЗрд╡рд╛рдПрдБ рдЬреЛрдбрд╝рдиреЗ рдХреА рдЬрд╝рд░реВрд░рдд рд╣реЛ, рддреЛ рдЖрдк рдмрд╕ services: рдХреЗ рдиреАрдЪреЗ рдФрд░ рдПрдВрдЯреНрд░реАрдЬрд╝ рдЬреЛрдбрд╝ рджреЗрдВред

MinIO рддрдХ рдкрд╣реБрдБрдЪрдирд╛ рдФрд░ рдпрд╣ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░рдирд╛ рдХрд┐ рдпрд╣ рдЪрд▓ рд░рд╣рд╛ рд╣реИ

рдЕрдм рдЬрдм MinIO рдЪрд▓ рд░рд╣рд╛ рд╣реИ, рддреЛ рд╕реНрдЯреЛрд░реЗрдЬ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЖрдк рдкреБрд╖реНрдЯрд┐ рдХрд░рдирд╛ рдЪрд╛рд╣реЗрдВрдЧреЗ рдХрд┐ рдпрд╣ рд╕рд╣реА рддрд░рд╣ рд╢реБрд░реВ рд╣реБрдЖ рд╣реИред

рдЕрдкрдиреА рд╕реЗрдЯрдЕрдк рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рджреЛ рддрд░реАрдХреЗ рд╣реИрдВ: рд╡рд┐рдЬрд╝реБрдЕрд▓ рдкреБрд╖реНрдЯрд┐ рдХреЗ рд▓рд┐рдП рд╡реЗрдм рдХрдВрд╕реЛрд▓ рдФрд░ рдХрдорд╛рдВрдб-рд▓рд╛рдЗрди рд╡реЗрд░рд┐рдлрд┐рдХреЗрд╢рди рдХреЗ рд▓рд┐рдП MinIO рдХреНрд▓рд╛рдЗрдВрдЯред

MinIO рд╡реЗрдм рдХрдВрд╕реЛрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ

рдЕрдкрдиреЗ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдЬрд╛рдПрдБ рдФрд░ http://localhost:9001 рдЦреЛрд▓реЗрдВред

рдЖрдкрдХреЛ рдХреНрд░реЗрдбреЗрдВрд╢рд┐рдпрд▓реНрд╕ рдорд╛рдБрдЧрддреА рд▓реЙрдЧрд┐рди рд╕реНрдХреНрд░реАрди рджрд┐рдЦреЗрдЧреА:

Image 3 - MinIO web UI

MinIO рд╡реЗрдм UI

рдЖрдк рдЙрди рдХреНрд░реЗрдбреЗрдВрд╢рд┐рдпрд▓реНрд╕ рд╕реЗ рд▓реЙрдЧрд┐рди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдЖрдкрдиреЗ environment variables рдХреЗ рд░реВрдк рдореЗрдВ рджрд┐рдП рдереЗтАФрдореЗрд░реЗ рдХреЗрд╕ рдореЗрдВ admin/password123ред

рд▓реЙрдЧрд┐рди рдХреЗ рдмрд╛рдж, рдЖрдк MinIO рдбреИрд╢рдмреЛрд░реНрдб рдкрд░ рдкрд╣реБрдБрдЪреЗрдВрдЧреЗред рдореБрдЦреНрдп рдкреЗрдЬ рдкрд░ рд╕реНрдЯреЛрд░реЗрдЬ рдЙрдкрдпреЛрдЧ, рдмрдХреЗрдЯреНрд╕ рдХреА рд╕рдВрдЦреНрдпрд╛ рдФрд░ рд╕рд┐рд╕реНрдЯрдо рд╣реЗрд▓реНрде рджрд┐рдЦрддреА рд╣реИред рдмрд╛рдИрдВ рд╕рд╛рдЗрдбрдмрд╛рд░ рдореЗрдВ рдмрдХреЗрдЯ рдмрдирд╛рдиреЗ, рдпреВрдЬрд╝рд░реНрд╕ рдореИрдиреЗрдЬ рдХрд░рдиреЗ рдФрд░ рдореИрдЯреНрд░рд┐рдХреНрд╕ рджреЗрдЦрдиреЗ рдХреЗ рд╡рд┐рдХрд▓реНрдк рд╣реИрдВред

Image 4 - Creating a bucket through MinIO web UI

MinIO рд╡реЗрдм UI рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдмрдХреЗрдЯ рдмрдирд╛рдирд╛

рд╕рдм рдХреБрдЫ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ рдпрд╣ рдЬрд╛рдБрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЯреЗрд╕реНрдЯ рдмрдХреЗрдЯ рдмрдирд╛рдПрдБред рд╕рд╛рдЗрдбрдмрд╛рд░ рдореЗрдВ "Buckets" рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ, рдлрд┐рд░ "Create Bucket" рдкрд░ред рдЗрд╕реЗ test-bucket рдЬреИрд╕рд╛ рдирд╛рдо рджреЗрдВ рдФрд░ рдХреНрд░рд┐рдПрдЯ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВред рдпрджрд┐ рдмрдХреЗрдЯ рдЖрдкрдХреА рд╕реВрдЪреА рдореЗрдВ рджрд┐рдЦрддрд╛ рд╣реИ, рддреЛ MinIO рд╕рд╣реА рд╕реЗ рдЪрд▓ рд░рд╣рд╛ рд╣реИ рдФрд░ рдбреЗрдЯрд╛ рд╕реНрдЯреЛрд░ рдХрд░ рд░рд╣рд╛ рд╣реИред

Image 5 - Creating a bucket through MinIO web UI

MinIO рд╡реЗрдм UI рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдмрдХреЗрдЯ рдмрдирд╛рдирд╛

MinIO рдХреНрд▓рд╛рдЗрдВрдЯ (mc) рдХрд╛ рдЙрдкрдпреЛрдЧ

MinIO рдХреНрд▓рд╛рдЗрдВрдЯ рдПрдХ рдХрдорд╛рдВрдб-рд▓рд╛рдЗрди рдЯреВрд▓ рд╣реИ рдЬреЛ рдЖрдкрдХреЛ AWS CLI рдХреА рддрд░рд╣ MinIO рдХреЗ рд╕рд╛рде рдЗрдВрдЯрд░реИрдХреНрдЯ рдХрд░рдиреЗ рджреЗрддрд╛ рд╣реИред

рдЗрд╕реЗ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрдирдореЗрдВ рд╕реЗ рдХреЛрдИ рдПрдХ рдХрдорд╛рдВрдб рдЪрд▓рд╛рдПрдБ:

# macOS
brew install minio/stable/mc

# Linux
wget https://dl.min.io/client/mc/release/linux-amd64/mc
chmod +x mc
sudo mv mc /usr/local/bin/

рдФрд░ рдЕрдм рдЗрд╕ рдХрдорд╛рдВрдб рд╕реЗ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛ рдЖрдкрдХреЗ рд▓реЛрдХрд▓ MinIO рдЗрдВрд╕реНрдЯреЗрдВрд╕ рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░реЗрдВ:

mc alias set local http://localhost:9000 admin password123

рдпрд╣ local рдирд╛рдо рдХрд╛ рдПрдХ рдПрд▓рд┐рдпрд╕ рдмрдирд╛рддрд╛ рд╣реИ рдЬреЛ рдЖрдкрдХреЗ MinIO рд╕рд░реНрд╡рд░ рдХреА рдУрд░ рдЗрд╢рд╛рд░рд╛ рдХрд░рддрд╛ рд╣реИред рдЕрдм рдЖрдк рдЗрд╕рдХреЗ рдЦрд┐рд▓рд╛рдл рдХрдорд╛рдВрдб рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВред

рдЕрдкрдиреЗ рдмрдХреЗрдЯреНрд╕ рдХреА рд╕реВрдЪреА рджреЗрдЦреЗрдВ:

mc ls local

Image 6 - Listing buckets

рдмрдХреЗрдЯреНрд╕ рдХреА рд╕реВрдЪреА

рдпрджрд┐ рдЖрдкрдиреЗ рдкрд╣рд▓реЗ рдЯреЗрд╕реНрдЯ рдмрдХреЗрдЯ рдмрдирд╛рдпрд╛ рдерд╛, рддреЛ рд╡рд╣ рдЖрдЙрдЯрдкреБрдЯ рдореЗрдВ рджрд┐рдЦреЗрдЧрд╛ред рдпрджрд┐ рдХрдорд╛рдВрдб рдЦрд╛рд▓реА рд▓реМрдЯрд╛рддрд╛ рд╣реИ рдпрд╛ рдЖрдкрдХреЗ рдмрдХреЗрдЯреНрд╕ рджрд┐рдЦрд╛рддрд╛ рд╣реИ, рддреЛ MinIO рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИред

рдЕрдм рдЖрдк рдмрдХреЗрдЯ рдореЗрдВ рдПрдХ рдЯреЗрд╕реНрдЯ рдлрд╝рд╛рдЗрд▓ рдЕрдкрд▓реЛрдб рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:

echo "test" > test.txt
mc cp test.txt local/test-bucket/

рдФрд░ рдлрд┐рд░ рдпрд╣ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░реЗрдВ рдХрд┐ рд╡рд╣ рд╡рд╣рд╛рдБ рд╣реИ:

mc ls local/test-bucket

рдпрджрд┐ рдЖрдкрдХреЛ рдЖрдЙрдЯрдкреБрдЯ рдореЗрдВ test.txt рджрд┐рдЦреЗ, рддреЛ рдЖрдкрдиреЗ рд╕рдм рдХреБрдЫ рдареАрдХ рд╕реЗ рд╕реЗрдЯ рдХрд░ рд▓рд┐рдпрд╛ рд╣реИред

Image 7 - Listing files in a bucket

рдХрд┐рд╕реА рдмрдХреЗрдЯ рдореЗрдВ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреА рд╕реВрдЪреА

рдпрджрд┐ рдЪреАрдЬрд╝реЗрдВ рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд░рд╣реАрдВ, рддреЛ рдпрд╣рд╛рдБ рдХреБрдЫ рддреНрд╡рд░рд┐рдд рдЯреНрд░рдмрд▓рд╢реВрдЯрд┐рдВрдЧ рдХрджрдо рд╣реИрдВ:

  • docker ps рд╕реЗ рдЬрд╛рдБрдЪреЗрдВ рдХрд┐ рдХрдВрдЯреЗрдирд░ рдЪрд▓ рд░рд╣рд╛ рд╣реИ рдпрд╛ рдирд╣реАрдВред рдпрджрд┐ рдЖрдкрдХреЛ minio рдирд╛рдо рдХрд╛ рдХрдВрдЯреЗрдирд░ рдирд╣реАрдВ рджрд┐рдЦрддрд╛, рддреЛ рдпрд╣ рд╢реБрд░реВ рдирд╣реАрдВ рд╣реБрдЖ рдпрд╛ рдХреНрд░реИрд╢ рд╣реЛ рдЧрдпрд╛ред

  • docker logs minio рд╕реЗ рд▓реЙрдЧ рджреЗрдЦреЗрдВред рдРрд╕реЗ рдПрд░рд░ рджреЗрдЦреЗрдВ рдЬреЛ рдкрд╣рд▓реЗ рд╕реЗ рдЙрдкрдпреЛрдЧ рдореЗрдВ рдкреЛрд░реНрдЯреНрд╕ рдпрд╛ рдбреЗрдЯрд╛ рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдкрд░ рдкрд░рдорд┐рд╢рди рд╕рдорд╕реНрдпрд╛рдУрдВ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реЛрдВред

  • рдпрджрд┐ рдЖрдк рд╡реЗрдм рдХрдВрд╕реЛрд▓ рддрдХ рдирд╣реАрдВ рдкрд╣реБрдБрдЪ рдкрд╛ рд░рд╣реЗ, рддреЛ docker port minio рдЪрд▓рд╛рдХрд░ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдкреЛрд░реНрдЯреНрд╕ рдмреНрд▓реЙрдХ рдирд╣реАрдВ рд╣реИрдВред рдЖрдкрдХреЛ 9000 рдФрд░ 9001 рджреЛрдиреЛрдВ рд╕рд╣реА рддрд░рд╣ рд╕реЗ рдореИрдкреНрдб рджрд┐рдЦрдиреЗ рдЪрд╛рд╣рд┐рдПред

  • рдпрджрд┐ рдЖрдкрдХреЛ рдбреЗрдЯрд╛ рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдкрд░ рдкрд░рдорд┐рд╢рди рдПрд░рд░ рдорд┐рд▓ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдПрдХреНрд╕реЗрд╕ рд╕рдорд╕реНрдпрд╛рдПрдБ рдареАрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП chmod -R 755 ~/minio/data рдЪрд▓рд╛рдПрдБред

рдкрд░рд╕рд┐рд╕реНрдЯреЗрдВрдЯ рд╕реНрдЯреЛрд░реЗрдЬ рдФрд░ рдбреЗрдЯрд╛ рд╡реЙрд▓реНрдпреВрдо

рдХрдВрдЯреЗрдирд░ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдХреНрд╖рдгрд┐рдХ рд╣реЛрддреЗ рд╣реИрдВтАФрдЬрдм рдЖрдк рдХрдВрдЯреЗрдирд░ рд╣рдЯрд╛рддреЗ рд╣реИрдВ, рддреЛ рдЙрд╕рдХреЗ рдЕрдВрджрд░ рдХреА рд╣рд░ рдЪреАрдЬрд╝ рдЧрд╛рдпрдм рд╣реЛ рдЬрд╛рддреА рд╣реИред

MinIO рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕, рдореЗрдЯрд╛рдбреЗрдЯрд╛ рдФрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓реЗрдВ рд╕реНрдЯреЛрд░ рдХрд░рддрд╛ рд╣реИред рдпрджрд┐ рдЖрдк рдкрд░рд╕рд┐рд╕реНрдЯреЗрдВрдЯ рд╕реНрдЯреЛрд░реЗрдЬ рд╕рд╣реА рд╕реЗ рд╕реЗрдЯ рдирд╣реАрдВ рдХрд░рддреЗ, рддреЛ рдХрдВрдЯреЗрдирд░ рд░реАрд╕реНрдЯрд╛рд░реНрдЯ рдпрд╛ рд╣рдЯрд╛рддреЗ рд╣реА рдЖрдкрдХрд╛ рд╕рд╛рд░рд╛ рдбреЗрдЯрд╛ рдЦреЛ рдЬрд╛рдПрдЧрд╛ред

Docker рдХреЗ рд╕рд╛рде рд▓реЛрдХрд▓ рд╡реЙрд▓реНрдпреВрдо рдХрд╛ рдЙрдкрдпреЛрдЧ

Docker рд╡реЙрд▓реНрдпреВрдо рдФрд░ рдмрд╛рдЗрдВрдб рдорд╛рдЙрдВрдЯ рдЖрдкрдХрд╛ рдбреЗрдЯрд╛ рдХрдВрдЯреЗрдирд░ рдХреЗ рдмрд╛рд╣рд░ рд╕реБрд░рдХреНрд╖рд┐рдд рд░рдЦрддреЗ рд╣реИрдВред

рдЬрдм рдЖрдк -v ~/minio/data:/data рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рдпрд╛ Docker Compose рдореЗрдВ рд╡реЙрд▓реНрдпреВрдо рдореИрдк рдХрд░рддреЗ рд╣реИрдВ, MinIO рд╣рд░ рдЪреАрдЬрд╝ рдЖрдкрдХреА рд╣реЛрд╕реНрдЯ рдорд╢реАрди рдкрд░ рд▓рд┐рдЦрддрд╛ рд╣реИред рдХрдВрдЯреЗрдирд░ /data рдореЗрдВ рдлрд╝рд╛рдЗрд▓реЗрдВ рдкрдврд╝рддрд╛ рдФрд░ рд▓рд┐рдЦрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпреЗ рдлрд╝рд╛рдЗрд▓реЗрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЖрдкрдХреА рд╣реЛрд╕реНрдЯ рдкрд░ ~/minio/data рдореЗрдВ рд░рд╣рддреА рд╣реИрдВред

рдЬрдм рдЖрдк рдХрдВрдЯреЗрдирд░ рд░реЛрдХрддреЗ, рд╣рдЯрд╛рддреЗ, рдпрд╛ рдпрд╣рд╛рдБ рддрдХ рдХрд┐ рдЗрдореЗрдЬ рдбрд┐рд▓реАрдЯ рдХрд░рддреЗ рд╣реИрдВтАФрдЖрдкрдХрд╛ рдбреЗрдЯрд╛ ~/minio/data рдореЗрдВ рд░рд╣рддрд╛ рд╣реИред рдЙрд╕реА рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдХреА рдУрд░ рдЗрд╢рд╛рд░рд╛ рдХрд░рддреЗ рд╣реБрдП рдПрдХ рдирдпрд╛ MinIO рдХрдВрдЯреЗрдирд░ рд╢реБрд░реВ рдХрд░реЗрдВ рдФрд░ рдЖрдкрдХреЗ рд╕рднреА рдмрдХреЗрдЯреНрд╕, рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕, рдФрд░ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдмрд┐рд▓реНрдХреБрд▓ рд╡реИрд╕реЗ рд╣реА рд╡рд╛рдкрд╕ рдЖ рдЬрд╛рддреЗ рд╣реИрдВ рдЬреИрд╕реЗ рдЖрдкрдиреЗ рдЫреЛрдбрд╝реЗ рдереЗред

рдпрджрд┐ рдЖрдк рдХреЛрдИ рд╡реЙрд▓реНрдпреВрдо рдореИрдк рдирд╣реАрдВ рдХрд░рддреЗ, рддреЛ MinIO рдХрдВрдЯреЗрдирд░ рдХреА рдЖрдВрддрд░рд┐рдХ рдлрд╛рдЗрд▓рд╕рд┐рд╕реНрдЯрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рд╕рдм рдХреБрдЫ рддрдм рддрдХ рдареАрдХ рдЪрд▓рддрд╛ рд╣реИ рдЬрдм рддрдХ рдЖрдк рдХрдВрдЯреЗрдирд░ рдХреЛ рд░реЛрдХ рди рджреЗрдВред рдЬрдм рдЖрдк рдЗрд╕реЗ рдлрд┐рд░ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ, MinIO рдирдП рд╕рд┐рд░реЗ рд╕реЗ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИтАФрдХреЛрдИ рдмрдХреЗрдЯ рдирд╣реАрдВ, рдХреЛрдИ рдСрдмреНрдЬреЗрдХреНрдЯ рдирд╣реАрдВ, рдФрд░ рдХреЛрдИ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдирд╣реАрдВред

рдЬрд┐рд╕ compose рдЙрджрд╛рд╣рд░рдг рдХреЛ рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рджрд┐рдЦрд╛рдпрд╛ рдерд╛, рд╡рд╣ рдЙрд╕реА рд╕реНрдерд╛рди рдкрд░ рдЬрд╣рд╛рдБ рдЖрдкрдХреА compose рдлрд╝рд╛рдЗрд▓ рд╣реИ, рдПрдХ minio/data рдлрд╝реЛрд▓реНрдбрд░ рдмрдирд╛рддрд╛ рд╣реИ:

Image 8 - MinIO data folder

MinIO рдбреЗрдЯрд╛ рдлрд╝реЛрд▓реНрдбрд░

рдЖрдо рд╕реНрдЯреЛрд░реЗрдЬ рдЧрд▓рддрд┐рдпрд╛рдБ

рдмрд┐рдирд╛ рд╡реЙрд▓реНрдпреВрдо рдХреЗ рдЪрд▓рд╛рдирд╛ рд╕рдмрд╕реЗ рдЖрдо рдЧрд▓рддреА рд╣реИред

рдЖрдк MinIO рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ, рдлрд╝рд╛рдЗрд▓реЗрдВ рдЕрдкрд▓реЛрдб рдХрд░рддреЗ рд╣реИрдВ, рдмрдХреЗрдЯ рдмрдирд╛рддреЗ рд╣реИрдВ, рдФрд░ рд╕рдм рдХреБрдЫ рдареАрдХ рд▓рдЧрддрд╛ рд╣реИред рдлрд┐рд░ рдЖрдк рдХрд┐рд╕реА рдЕрдкрдбреЗрдЯ рдпрд╛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдмрджрд▓рд╛рд╡ рдХреЗ рд▓рд┐рдП рдХрдВрдЯреЗрдирд░ рд░реАрд╕реНрдЯрд╛рд░реНрдЯ рдХрд░рддреЗ рд╣реИрдВред рдЖрдкрдХрд╛ рд╕рд╛рд░рд╛ рдбреЗрдЯрд╛ рдЧрд╛рдпрдм рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рд╡рд╣ рдХрдВрдЯреЗрдирд░ рдХреЗ рдЕрдВрджрд░ рд╕реНрдЯреЛрд░ рдерд╛, рдЖрдкрдХреА рд╣реЛрд╕реНрдЯ рдкрд░ рдирд╣реАрдВред

рдХрд┐рд╕реА рднреА рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдбреЗрдЯрд╛ рдХреЛ MinIO рдореЗрдВ рдбрд╛рд▓рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рд╣рдореЗрд╢рд╛ рдЬрд╛рдБрдЪреЗрдВ рдХрд┐ рдЖрдкрдХреЗ Docker рдХрдорд╛рдВрдб рдпрд╛ Compose рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╡реЙрд▓реНрдпреВрдо рдореИрдкрд┐рдВрдЧ рд╣реИред

рдкрд░рдорд┐рд╢рди рд╕рдВрдмрдВрдзреА рд╕рдорд╕реНрдпрд╛рдПрдБ рддрдм рд╣реЛрддреА рд╣реИрдВ рдЬрдм Docker рдЖрдкрдХреА рдорд╛рдЙрдВрдЯ рдХреА рдЧрдИ рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдореЗрдВ рд▓рд┐рдЦ рдирд╣реАрдВ рдкрд╛рддрд╛ред

рдХрдВрдЯреЗрдирд░ рдХреЗ рдЕрдВрджрд░ MinIO рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдПрдХ рд╡рд┐рд╢реЗрд╖ рдпреВрдЬрд╝рд░ рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд▓рддреА рд╣реИред рдпрджрд┐ рдЙрд╕ рдпреВрдЬрд╝рд░ рдХреЗ рдкрд╛рд╕ рд╣реЛрд╕реНрдЯ рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдкрд░ рд▓рд┐рдЦрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рд╣реИ, рддреЛ MinIO рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдкрд░ рдХреНрд░реИрд╢ рдХрд░реЗрдЧрд╛ рдпрд╛ рдСрдмреНрдЬреЗрдХреНрдЯ рд╕реНрдЯреЛрд░ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдореЗрдВ рдЪреБрдкрдЪрд╛рдк рдлреЗрд▓ рд╣реЛрдЧрд╛ред

рдЖрдк рдЗрд╕реЗ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдХреЗ рдареАрдХ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдЖрдкрдХреА рдбреЗрдЯрд╛ рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рд░рд╛рдЗрдЯреЗрдмрд▓ рд╣реИ:

chmod -R 755 ~/minio/data

рдпрд╛ рдХрдВрдЯреЗрдирд░ рдХреЛ рдРрд╕реЗ рдпреВрдЬрд╝рд░ рдХреЗ рд╕рд╛рде рдЪрд▓рд╛рдПрдБ рдЬреЛ рдЖрдкрдХреЗ рд╣реЛрд╕реНрдЯ рдпреВрдЬрд╝рд░ рд╕реЗ рдореЗрд▓ рдЦрд╛рддрд╛ рд╣реЛ:

docker run --user $(id -u):$(id -g) ...

рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ, рдПрдХ рдмрд╛рд░ рдЕрдкрдиреЗ рд╡реЙрд▓реНрдпреВрдо рд╕рд╣реА рд╕реЗ рд╕реЗрдЯ рдХрд░ рд▓реЗрдВ рдФрд░ рдлрд┐рд░ рдбреЗрдЯрд╛ рдЦреЛрдиреЗ рдХреА рдЪрд┐рдВрддрд╛ рдирд╣реАрдВ рд░рд╣реЗрдЧреАред

Environment variables рдФрд░ рдмреЗрд╕рд┐рдХ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди

MinIO рд╕реНрдЯрд╛рд░реНрдЯ рд╣реЛрдиреЗ рдкрд░ рдЕрдкрдиреА рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди environment variables рд╕реЗ рдкрдврд╝рддрд╛ рд╣реИред

рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдЖрдк рдмрд┐рдирд╛ рдХреЙрдиреНрдлрд╝рд┐рдЧ рдлрд╝рд╛рдЗрд▓реЗрдВ рдПрдбрд┐рдЯ рдХрд┐рдП рдпрд╛ рдХрдВрдЯреЗрдирд░ рд░реАрдмрд┐рд▓реНрдб рдХрд┐рдП MinIO рдХреЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВред рдЖрдк рдЗрди рд╡реЗрд░рд┐рдПрдмрд▓реНрд╕ рдХреЛ рдЕрдкрдиреЗ docker run рдХрдорд╛рдВрдб рдпрд╛ Docker Compose рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╕реЗрдЯ рдХрд░рддреЗ рд╣реИрдВред

рдПрдХреНрд╕реЗрд╕ рдХреАрдЬрд╝ рдФрд░ рдХреНрд░реЗрдбреЗрдВрд╢рд┐рдпрд▓реНрд╕

рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдХреЗ рд▓рд┐рдП MinIO рдХреЛ рджреЛ environment variables рдЪрд╛рд╣рд┐рдП: MINIO_ROOT_USER рдФрд░ MINIO_ROOT_PASSWORDред

рдпреЗ рдЖрдкрдХреЗ MinIO рдЗрдВрд╕реНрдЯреЗрдВрд╕ рдкрд░ рдлреБрд▓ рдХрдВрдЯреНрд░реЛрд▓ рд╡рд╛рд▓рд╛ рд░реВрдЯ рдПрдбрдорд┐рди рдЕрдХрд╛рдЙрдВрдЯ рдмрдирд╛рддреЗ рд╣реИрдВред рд░реВрдЯ рдпреВрдЬрд╝рд░ рдмрдХреЗрдЯ рдмрдирд╛ рд╕рдХрддрд╛ рд╣реИ, рдЕрдиреНрдп рдпреВрдЬрд╝рд░реНрд╕ рдореИрдиреЗрдЬ рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдиреАрддрд┐рдпрд╛рдБ рд╕реЗрдЯ рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рд╕рднреА рд╕реНрдЯреЛрд░ рдХрд┐рдП рдЧрдП рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рддрдХ рдкрд╣реБрдБрдЪ рд╕рдХрддрд╛ рд╣реИред

рдЗрдиреНрд╣реЗрдВ docker run рдХреЗ рджреМрд░рд╛рди рдЗрд╕ рддрд░рд╣ рд╕реЗрдЯ рдХрд░реЗрдВ:

-e "MINIO_ROOT_USER=admin" \
-e "MINIO_ROOT_PASSWORD=your-secure-password"

рдпрд╛ Docker Compose рдореЗрдВ:

environment:
  MINIO_ROOT_USER: admin
  MINIO_ROOT_PASSWORD: your-secure-password

рдкреНрд░реЛрдбрдХреНрд╢рди рдореЗрдВ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдХреНрд░реЗрдбреЗрдВрд╢рд┐рдпрд▓реНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рди рдХрд░реЗрдВред рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП admin рдФрд░ password123 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдбрд┐рдкреНрд▓реЙрдпрдореЗрдВрдЯ рдХреЗ рд▓рд┐рдП рдпреЗ рдмрд╣реБрдд рдмреБрд░реЗ рд╡рд┐рдХрд▓реНрдк рд╣реИрдВред

рдХрдо-рд╕реЗ-рдХрдо 8 рдЕрдХреНрд╖рд░реЛрдВ рд╡рд╛рд▓рд╛ рдордЬрд╝рдмреВрдд рдкрд╛рд╕рд╡рд░реНрдб рдЪреБрдиреЗрдВред рдмреЗрд╣рддрд░ рд╣реИ рдХрд┐ рд░реИрдВрдбрдорд▓реА рдЬреЗрдирд░реЗрдЯреЗрдб рдХреНрд░реЗрдбреЗрдВрд╢рд┐рдпрд▓реНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдкрд╛рд╕рд╡рд░реНрдб рдореИрдиреЗрдЬрд░ рдпрд╛ рд╕реАрдХреНрд░реЗрдЯ рдореИрдиреЗрдЬрдореЗрдВрдЯ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рд╕реНрдЯреЛрд░ рдХрд░реЗрдВред

Docker Compose рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ рдХреНрд░реЗрдбреЗрдВрд╢рд┐рдпрд▓реНрд╕ рд╣рд╛рд░реНрдбрдХреЛрдб рди рдХрд░реЗрдВ рдЬрд┐рдиреНрд╣реЗрдВ рдЖрдк рд╡рд░реНрдЬрд╝рди рдХрдВрдЯреНрд░реЛрд▓ рдореЗрдВ рдХрдорд┐рдЯ рдХрд░рддреЗ рд╣реИрдВред рдЗрд╕рдХреЗ рдмрдЬрд╛рдп environment рдлрд╝рд╛рдЗрд▓реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ:

environment:
  MINIO_ROOT_USER: ${MINIO_ROOT_USER}
  MINIO_ROOT_PASSWORD: ${MINIO_ROOT_PASSWORD}

рдлрд┐рд░ рдЕрдкрдиреА рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдХреНрд░реЗрдбреЗрдВрд╢рд┐рдпрд▓реНрд╕ рдХреЗ рд╕рд╛рде рдПрдХ .env рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдПрдБ рдФрд░ рдЙрд╕реЗ .gitignore рдореЗрдВ рдЬреЛрдбрд╝реЗрдВред

рдкреЛрд░реНрдЯ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдФрд░ рдиреЗрдЯрд╡рд░реНрдХрд┐рдВрдЧ

MinIO рдХреЛ рд╕рд╣реА рддрд░рд╣ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рджреЛ рдкреЛрд░реНрдЯ рдЪрд╛рд╣рд┐рдПред

  • рдкреЛрд░реНрдЯ 9000 S3 API рд╕рдВрднрд╛рд▓рддрд╛ рд╣реИред рдпрд╣реАрдВ рдЖрдкрдХреА рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рд╕реНрдЯреЛрд░ рдФрд░ рд░рд┐рдЯреНрд░реАрд╡ рдХрд░рдиреЗ рдХреЗ рдЕрдиреБрд░реЛрдз рднреЗрдЬрддреА рд╣реИрдВред рд╕рднреА S3-рд╕рдВрдЧрдд рдХреНрд▓рд╛рдЗрдВрдЯ рдЗрд╕реА рдкреЛрд░реНрдЯ рд╕реЗ рдХрдиреЗрдХреНрдЯ рд╣реЛрддреЗ рд╣реИрдВред
  • рдкреЛрд░реНрдЯ 9001 рд╡реЗрдм рдХрдВрд╕реЛрд▓ рд╕рд░реНрд╡ рдХрд░рддрд╛ рд╣реИред рдпрд╣реА рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд╣реИ рдЬрд╣рд╛рдБ рдЖрдк GUI рдХреЗ рдЬрд░рд┐рдП MinIO рдореИрдиреЗрдЬ рдХрд░рддреЗ рд╣реИрдВред

рдЗрди рдкреЛрд░реНрдЯреНрд╕ рдХреЛ рдЕрдкрдиреЗ Docker рдХрдорд╛рдВрдб рдореЗрдВ рдореИрдк рдХрд░реЗрдВ:

-p 9000:9000 -p 9001:9001

рдкреЛрд░реНрдЯ рдХреЙрдиреНрдлреНрд▓рд┐рдХреНрдЯ рддрдм рд╣реЛрддреЗ рд╣реИрдВ рдЬрдм рдЖрдкрдХреА рд╣реЛрд╕реНрдЯ рдкрд░ 9000 рдпрд╛ 9001 рдкрд╣рд▓реЗ рд╕реЗ рдХрд┐рд╕реА рдЕрдиреНрдп рд╕рд░реНрд╡рд┐рд╕ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдореЗрдВ рд╣реЛрдВред

рдХрдВрдЯреЗрдирд░ рд╢реБрд░реВ рдХрд░рддреЗ рд╕рдордп рдЖрдкрдХреЛ "bind: address already in use" рдЬреИрд╕рд╛ рдПрд░рд░ рджрд┐рдЦреЗрдЧрд╛ред рдЗрд╕реЗ рдЕрд▓рдЧ рд╣реЛрд╕реНрдЯ рдкреЛрд░реНрдЯреНрд╕ рдореИрдк рдХрд░рдХреЗ рдареАрдХ рдХрд░реЗрдВ:

-p 9090:9000 -p 9091:9001

рдЕрдм MinIO рдХрд╛ API http://localhost:9090 рдкрд░ рд╣реИ рдФрд░ рдХрдВрд╕реЛрд▓ http://localhost:9091 рдкрд░ред рдХрдВрдЯреЗрдирд░ рдХреЗ рдЕрдВрджрд░ рдЕрднреА рднреА 9000 рдФрд░ 9001 рд╣реА рдЙрдкрдпреЛрдЧ рд╣реЛрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдмрд╛рд╣рд░ рд╕реЗ рдЖрдк рдЕрд▓рдЧ рдкреЛрд░реНрдЯреНрд╕ рдХреЗ рдЬрд░рд┐рдП рдПрдХреНрд╕реЗрд╕ рдХрд░рддреЗ рд╣реИрдВред

MinIO рд╢реБрд░реВ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдХрд┐рд╕реА рдкреЛрд░реНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреМрди рдХрд░ рд░рд╣рд╛ рд╣реИ, рдпрд╣ рдЬрд╛рдБрдЪрдиреЗ рдореЗрдВ рдпреЗ рдХрдорд╛рдВрдб рдорджрдж рдХрд░реЗрдВрдЧреЗ:

# Linux/macOS
lsof -i :9000
lsof -i :9001

# Windows
netstat -ano | findstr :9000
netstat -ano | findstr :9001

рдХреМрди-рд╕рд╛ рдкреЛрд░реНрдЯ рдЙрдкрдпреЛрдЧ рдореЗрдВ рд╣реИ, рдпрд╣ рдЬрд╛рдБрдЪрдирд╛

рдпрджрд┐ рдЖрдк рдПрдХ рд╣реА рдорд╢реАрди рдкрд░ рдЕрдиреЗрдХ MinIO рдЗрдВрд╕реНрдЯреЗрдВрд╕ рдЪрд▓рд╛ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдкреНрд░рддреНрдпреЗрдХ рдХреЛ рдпреВрдирд┐рдХ рдкреЛрд░реНрдЯ рдореИрдкрд┐рдВрдЧ рджреЗрдВ рддрд╛рдХрд┐ рд╡реЗ рдЖрдкрд╕ рдореЗрдВ рдЯрдХрд░рд╛рдПрдБ рдирд╣реАрдВред

Docker рдХреЗ рд╕рд╛рде рдбрд┐рд╕реНрдЯреНрд░реАрдмреНрдпреВрдЯреЗрдб рдореЛрдб рдореЗрдВ MinIO рдЪрд▓рд╛рдирд╛

рдбрд┐рд╕реНрдЯреНрд░реАрдмреНрдпреВрдЯреЗрдб рдореЛрдб, рд╣рд╛рдИ-рдПрд╡реЗрд▓реЗрдмрд┐рд▓рд┐рдЯреА рдФрд░ рдбреЗрдЯрд╛ рд░рд┐рдбрдВрдбреЗрдВрд╕реА рдХреЗ рд▓рд┐рдП рдХрдИ рд╕рд░реНрд╡рд░реНрд╕ рдкрд░ рдХрдИ рдбреНрд░рд╛рдЗрд╡реНрд╕ рдХреЗ рд╕рд╛рде MinIO рдЪрд▓рд╛рддрд╛ рд╣реИред

рдбреЗрд╡рд▓рдкрдореЗрдВрдЯ рдпрд╛ рдЯреЗрд╕реНрдЯрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдЗрд╕рдХреА рдЬрд╝рд░реВрд░рдд рдирд╣реАрдВред рдЬрд╝реНрдпрд╛рджрд╛рддрд░ рдЙрдкрдпреЛрдЧ рдорд╛рдорд▓реЛрдВ рдХреЗ рд▓рд┐рдП рд╕рд┐рдВрдЧрд▓-рдиреЛрдб рдореЛрдб рдкрд░реНрдпрд╛рдкреНрдд рд╣реИред рдЬрдм рддрдХ рдЖрдк рдРрд╕рд╛ рдкреНрд░реЛрдбрдХреНрд╢рди рдбрд┐рдкреНрд▓реЙрдпрдореЗрдВрдЯ рдкреНрд▓рд╛рди рдирд╣реАрдВ рдХрд░ рд░рд╣реЗ рдЬрд┐рд╕рдореЗрдВ рд╕рд░реНрд╡рд░ рдлреЗрд▓ рд╣реЛрдиреЗ рдкрд░ рднреА рдСрдирд▓рд╛рдЗрди рд░рд╣рдирд╛ рдЬрд╝рд░реВрд░реА рд╣реИ, рддрдм рддрдХ рдЗрд╕ рд╕реЗрдХреНрд╢рди рдХреЛ рдЫреЛрдбрд╝ рджреЗрдВред

рдХрдм рдбрд┐рд╕реНрдЯреНрд░реАрдмреНрдпреВрдЯреЗрдб MinIO рд╕рдордЭрджрд╛рд░реА рд╣реИ

рдЬрдм рдЖрдкрдХреЛ рдлреЙрд▓реНрдЯ рдЯреЙрд▓рд░реЗрдВрд╕ рдЪрд╛рд╣рд┐рдП, рддрдм рдбрд┐рд╕реНрдЯреНрд░реАрдмреНрдпреВрдЯреЗрдб рдореЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред

рдбрд┐рд╕реНрдЯреНрд░реАрдмреНрдпреВрдЯреЗрдб рд╕реЗрдЯрдЕрдк рдореЗрдВ рдпрджрд┐ рдПрдХ рд╕рд░реНрд╡рд░ рдбрд╛рдЙрди рд╣реЛ рдЬрд╛рдП, рддреЛ рднреА MinIO рдЪрд▓рддрд╛ рд░рд╣рддрд╛ рд╣реИ рдФрд░ рдЖрдкрдХрд╛ рдбреЗрдЯрд╛ рдЙрдкрд▓рдмреНрдз рд░рд╣рддрд╛ рд╣реИред рд╕рд┐рд╕реНрдЯрдо рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХреЛ рдХрдИ рдбреНрд░рд╛рдЗрд╡реНрд╕ рдФрд░ рд╕рд░реНрд╡рд░реНрд╕ рдореЗрдВ рдмрд╛рдБрдЯрдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд░реЗрдЬрд╝рд░ рдХреЛрдбрд┐рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЖрдк рдбреНрд░рд╛рдЗрд╡реНрд╕ рдпрд╛ рдкреВрд░реЗ рдиреЛрдбреНрд╕ рдЦреЛ рджреЗрдВ рддрдм рднреА рдбреЗрдЯрд╛ рдирд╣реАрдВ рдЦреЛрдПрдВрдЧреЗред

рдмрдбрд╝реЗ рдкреИрдорд╛рдиреЗ рдХреЗ рд╕реНрдЯреЛрд░реЗрдЬ рдХреЗ рд▓рд┐рдП рднреА рдбрд┐рд╕реНрдЯреНрд░реАрдмреНрдпреВрдЯреЗрдб рдореЛрдб рдЪрд╛рд╣рд┐рдПред рдпрджрд┐ рдЖрдк рдЯреЗрд░рд╛рдмрд╛рдЗрдЯреНрд╕ рдпрд╛ рдкреЗрдЯрд╛рдмрд╛рдЗрдЯреНрд╕ рдбреЗрдЯрд╛ рд╕реНрдЯреЛрд░ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдЙрд╕реЗ рдХрдИ рдорд╢реАрдиреЛрдВ рдореЗрдВ рдлреИрд▓рд╛рдиреЗ рд╕реЗ рдПрдХрд▓ рд╕рд░реНрд╡рд░ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдмреЗрд╣рддрд░ рдкрд░рдлреЙрд░реНрдореЗрдВрд╕ рдФрд░ рдЕрдзрд┐рдХ рдХреНрд╖рдорддрд╛ рдорд┐рд▓рддреА рд╣реИред

рд▓реЛрдХрд▓ рдбреЗрд╡рд▓рдкрдореЗрдВрдЯ рдХреЛ рдЗрди рд╕рдмрдХреА рдЬрд╝рд░реВрд░рдд рдирд╣реАрдВред рдбрд┐рд╕реНрдЯреНрд░реАрдмреНрдпреВрдЯреЗрдб рдореЛрдб рдЬрдЯрд┐рд▓рддрд╛ рдмрдврд╝рд╛рддрд╛ рд╣реИтАФрдЖрдкрдХреЛ рдХрдИ рдорд╢реАрдиреЗрдВ рдпрд╛ VM, рд╕рдордиреНрд╡рд┐рдд рдиреЗрдЯрд╡рд░реНрдХрд┐рдВрдЧ, рдФрд░ рд╕рд╛рд╡рдзрд╛рдиреАрдкреВрд░реНрд╡рдХ рдбреНрд░рд╛рдЗрд╡ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдЪрд╛рд╣рд┐рдПред рдЕрдкрдиреЗ рд▓реИрдкрдЯреЙрдк рдкрд░ S3 API рдЯреЗрд╕реНрдЯ рдХрд░рдиреЗ рдпрд╛ рдСрдмреНрдЬреЗрдХреНрдЯ рд╕реНрдЯреЛрд░реЗрдЬ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд┐рдВрдЧрд▓-рдиреЛрдб рдореЛрдб рд╣реА рдкрд░реНрдпрд╛рдкреНрдд рд╣реИред

рдкреНрд░реЛрдбрдХреНрд╢рди рдПрдирд╡рд╛рдпрд░рдирдореЗрдВрдЯреНрд╕ рдореЗрдВ рддрдм рдбрд┐рд╕реНрдЯреНрд░реАрдмреНрдпреВрдЯреЗрдб рдореЛрдб рдЙрдкрдпреЛрдЧ рд╣реЛрддрд╛ рд╣реИ рдЬрдм рдбрд╛рдЙрдирдЯрд╛рдЗрдо рд╕реНрд╡реАрдХрд╛рд░реНрдп рдирд╣реАрдВ рдФрд░ рдбреЗрдЯрд╛ рд▓реЙрд╕ рд╡рд┐рдирд╛рд╢рдХрд╛рд░реА рд╣реЛрдЧрд╛ред рдЬреИрд╕реЗ рдмреИрдХрдЕрдк рд╕рд┐рд╕реНрдЯрдо, рдбреЗрдЯрд╛ рд▓реЗрдХреНрд╕, рдпрд╛ рдРрд╕реА рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЬрд╣рд╛рдБ рдпреВрдЬрд╝рд░реНрд╕ рд▓рдЧрд╛рддрд╛рд░ рд╕реНрдЯреЛрд░реЗрдЬ рдЙрдкрд▓рдмреНрдзрддрд╛ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддреЗ рд╣реИрдВред

рд╣рд╛рдИ-рд▓реЗрд╡рд▓ рд╕реЗрдЯрдЕрдк рдУрд╡рд░рд╡реНрдпреВ

рдбрд┐рд╕реНрдЯреНрд░реАрдмреНрдпреВрдЯреЗрдб MinIO рдХреЗ рд▓рд┐рдП рдХрдо-рд╕реЗ-рдХрдо рдЪрд╛рд░ рдбреНрд░рд╛рдЗрд╡реНрд╕ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рдЬреЛ рдХрдИ рдиреЛрдбреНрд╕ рдореЗрдВ рдлреИрд▓реА рд╣реЛрдВред

рд╣рд░ рдиреЛрдб рдПрдХ MinIO рдХрдВрдЯреЗрдирд░ рдЪрд▓рд╛рддрд╛ рд╣реИ, рдФрд░ рд╕рднреА рдиреЛрдбреНрд╕ рдХреЛ рдПрдХ рдЬреИрд╕реЗ рдбреНрд░рд╛рдЗрд╡ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рджрд┐рдЦрдиреЗ рдЪрд╛рд╣рд┐рдПред рдЖрдк рд╕рд┐рдВрдЧрд▓-рдбреНрд░рд╛рдЗрд╡ рдиреЛрдбреНрд╕ рдХреЛ рдорд▓реНрдЯреА-рдбреНрд░рд╛рдЗрд╡ рдиреЛрдбреНрд╕ рдХреЗ рд╕рд╛рде рдорд┐рдХреНрд╕ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рдпрд╛ рд╕реЗрдЯрдЕрдк рдХреЗ рдмрд╛рдж рдбреНрд░рд╛рдЗрд╡реНрд╕ рдХреА рд╕рдВрдЦреНрдпрд╛ рдирд╣реАрдВ рдмрджрд▓ рд╕рдХрддреЗред

рдПрдХ рдмреЗрд╕рд┐рдХ рдбрд┐рд╕реНрдЯреНрд░реАрдмреНрдпреВрдЯреЗрдб рд╕реЗрдЯрдЕрдк рдХреБрдЫ рдРрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИ:

  • MinIO рдЗрдВрд╕реНрдЯреЙрд▓ рд╡рд╛рд▓реЗ рдЪрд╛рд░ рд╕рд░реНрд╡рд░ (рдпрд╛ VM)
  • рд╣рд░ рд╕рд░реНрд╡рд░ рдкрд░ MinIO рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдкрд┐рдд рдХрдИ рдбреНрд░рд╛рдЗрд╡реНрд╕
  • рд╕рднреА рдиреЛрдбреНрд╕ рдХреЗ рдмреАрдЪ рдиреЗрдЯрд╡рд░реНрдХ рдХрдиреЗрдХреНрдЯрд┐рд╡рд┐рдЯреА
  • рд╣рд░ рдиреЛрдб рдкрд░ рд╕рдорд╛рди рдбреНрд░рд╛рдЗрд╡ рдкрд╛рдереНрд╕

рдЖрдк рдПрдХ рд╣реА Compose рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╕рдордиреНрд╡рдп рд╕рдВрднрд╛рд▓ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЪреЗрддрд╛рд╡рдиреА рджреЗрддрд╛ рд╣реВрдБтАФрдпрд╣ рд▓рдВрдмреА рд╣реЛрдЧреАред рдЖрдкрдХреЛ рд╕рднреА рдиреЛрдбреНрд╕ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ, рдЙрдирдХреЗ рдбреНрд░рд╛рдЗрд╡ рдкрд╛рдереНрд╕ рд╕реЗрдЯ рдХрд░рдиреЗ, рдФрд░ рдЙрдиреНрд╣реЗрдВ рд╕рд╛рде рдореЗрдВ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреА рдЬрд╝рд░реВрд░рдд рд╣реЛрдЧреАред

рдЪрд╛рд░ рдиреЛрдбреНрд╕ рдФрд░ рдкреНрд░рддреНрдпреЗрдХ рдкрд░ рджреЛ рдбреНрд░рд╛рдЗрд╡реНрд╕ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдВрдкреВрд░реНрдг рдЙрджрд╛рд╣рд░рдг рдпрд╣рд╛рдБ рд╣реИ:

version: "3.9"

services:
  minio1:
    image: quay.io/minio/minio:latest
    hostname: minio1
    container_name: minio1
    command: server http://minio{1...4}/data{1...2} --console-address ":9001"
    ports:
      - "9001:9000"
      - "9091:9001"
    environment:
      MINIO_ROOT_USER: admin
      MINIO_ROOT_PASSWORD: password123
    volumes:
      - ./data/minio1/data1:/data1
      - ./data/minio1/data2:/data2
    networks:
      - minio

  minio2:
    image: quay.io/minio/minio:latest
    hostname: minio2
    container_name: minio2
    command: server http://minio{1...4}/data{1...2} --console-address ":9001"
    ports:
      - "9002:9000"
      - "9092:9001"
    environment:
      MINIO_ROOT_USER: admin
      MINIO_ROOT_PASSWORD: password123
    volumes:
      - ./data/minio2/data1:/data1
      - ./data/minio2/data2:/data2
    networks:
      - minio

  minio3:
    image: quay.io/minio/minio:latest
    hostname: minio3
    container_name: minio3
    command: server http://minio{1...4}/data{1...2} --console-address ":9001"
    ports:
      - "9003:9000"
      - "9093:9001"
    environment:
      MINIO_ROOT_USER: admin
      MINIO_ROOT_PASSWORD: password123
    volumes:
      - ./data/minio3/data1:/data1
      - ./data/minio3/data2:/data2
    networks:
      - minio

  minio4:
    image: quay.io/minio/minio:latest
    hostname: minio4
    container_name: minio4
    command: server http://minio{1...4}/data{1...2} --console-address ":9001"
    ports:
      - "9004:9000"
      - "9094:9001"
    environment:
      MINIO_ROOT_USER: admin
      MINIO_ROOT_PASSWORD: password123
    volumes:
      - ./data/minio4/data1:/data1
      - ./data/minio4/data2:/data2
    networks:
      - minio

networks:
  minio:
    driver: bridge

рдпрд╣ {1...4} рд╕рд┐рдВрдЯреИрдХреНрд╕ MinIO рдХреЛ рдЪрд╛рд░ рдиреЛрдбреНрд╕ (minio1 рд╕реЗ minio4) рд╕реЗ рджреЛ-рджреЛ рдбреНрд░рд╛рдЗрд╡реНрд╕ (data1 рдФрд░ data2) рдХреЗ рд╕рд╛рде рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреЛ рдХрд╣рддрд╛ рд╣реИред рд╣рд░ рдиреЛрдб рдХреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдкреЛрд░реНрдЯ рдореИрдкрд┐рдВрдЧ рдорд┐рд▓рддреА рд╣реИ рддрд╛рдХрд┐ рдЖрдк рдЙрдиреНрд╣реЗрдВ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдПрдХреНрд╕реЗрд╕ рдХрд░ рд╕рдХреЗрдВ тАФ рдиреЛрдб 1 9001/9091, рдиреЛрдб 2 9002/9092, рдФрд░ рдЖрдЧреЗ рднреА рдЗрд╕реА рддрд░рд╣ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред

рдпрд╣ minio-distributed рдиреЗрдЯрд╡рд░реНрдХ рдХрдВрдЯреЗрдирд░реЛрдВ рдХреЛ рд╣реЛрд╕реНрдЯрдиреЗрдо рдХреЗ рдЬрд░рд┐рдпреЗ рдПрдХ-рджреВрд╕рд░реЗ рддрдХ рдкрд╣реБрдБрдЪрдиреЗ рджреЗрддрд╛ рд╣реИред рд╕рднреА рдиреЛрдбреНрд╕ рдХреЛ рдПрдХ рдЬреИрд╕реА рдХреНрд░реЗрдбреЗрдВрд╢рд┐рдпрд▓реНрд╕ рдЙрдкрдпреЛрдЧ рдХрд░рдиреА рд╣реЛрдВрдЧреА рдФрд░ рдПрдХ рдЬреИрд╕рд╛ рдбреНрд░рд╛рдЗрд╡ рд▓реЗрдЖрдЙрдЯ рджрд┐рдЦрд╛рдИ рджреЗрдирд╛ рдЪрд╛рд╣рд┐рдПред

рдХреНрд▓рд╕реНрдЯрд░ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдкрд╣рд▓реЗ рдбреЗрдЯрд╛ рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдмрдирд╛рдПрдВ рдФрд░ рдлрд┐рд░ compose рдлрд╝рд╛рдЗрд▓ рдЪрд▓рд╛рдПрдВ

mkdir -p data/minio{1..4}/data{1..2}
docker compose up -d

Image 10 - Running MinIO in distributed mode

рдбрд┐рд╕реНрдЯреНрд░реАрдмреНрдпреВрдЯреЗрдб рдореЛрдб рдореЗрдВ MinIO рдЪрд▓рд╛рдирд╛

рдмрд╕ рдЗрддрдирд╛ рд╣реА! рдЕрдм рдЖрдк рд╡реЗрдм UI рдПрдХреНрд╕реЗрд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд┐рдореНрди рдореЗрдВ рд╕реЗ рдХрд┐рд╕реА рднреА URL рдкрд░ рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ:

рд▓реЗрдХрд┐рди рдлрд┐рд░ рд╕реЗ рдпрд╛рдж рд░рдЦреЗрдВ, рдЬрдм рддрдХ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЬрд╝рд░реВрд░рдд рди рд╣реЛ рдЗрд╕реЗ рди рдмрдирд╛рдПрдВ тАФ рдбрд┐рд╕реНрдЯреНрд░реАрдмреНрдпреВрдЯреЗрдб рдореЛрдб рдЙрддреНрдкрд╛рджрди рд╡рд░реНрдХрд▓реЛрдбреНрд╕ рдХреЗ рд▓рд┐рдП рд╣реИ, рдЬрд╣рд╛рдБ рдЕрдкрдЯрд╛рдЗрдо рдФрд░ рд░рд┐рдбрдВрдбреЗрдВрд╕реА рдЕрддрд┐рд░рд┐рдХреНрдд рдЬрдЯрд┐рд▓рддрд╛ рдХреЛ рд╕рд╣реА рдард╣рд░рд╛рддреЗ рд╣реИрдВред

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдПрдХ рдкреВрд░реНрдг рдкреНрд░реЛрдбрдХреНрд╢рди рд╡рд╛рддрд╛рд╡рд░рдг рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ TLS, рдПрдХрд▓ рдХрдВрд╕реЛрд▓ рдПрдВрдбрдкреЙрдЗрдВрдЯ, рдФрд░ рдмрд╛рд╣рд░реА рд╡реЙрд▓реНрдпреВрдо/рдбрд┐рд╕реНрдХ рдЬреИрд╕реА рдЪреАрдЬрд╝реЗрдВ рднреА рдЪрд╛рд╣рд┐рдП рд╣реЛрдВрдЧреАред

Docker рдореЗрдВ MinIO рдЪрд▓рд╛рддреЗ рд╕рдордп рдЖрдо рд╕рдорд╕реНрдпрд╛рдПрдБ

рдЕрдзрд┐рдХрд╛рдВрд╢ MinIO Docker рд╕рдорд╕реНрдпрд╛рдПрдБ рдЧрд▓рдд рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдП рдЧрдП рд╡реЙрд▓реНрдпреВрдо, рдкреЛрд░реНрдЯ, рдпрд╛ рдХреНрд░реЗрдбреЗрдВрд╢рд┐рдпрд▓реНрд╕ рд╕реЗ рдЖрддреА рд╣реИрдВред

рдпрд╣рд╛рдБ рд╡реЗ рд╕рдорд╕реНрдпрд╛рдПрдБ рд╣реИрдВ рдЬрд┐рдирдХрд╛ рдЖрдк рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕рд╛рдордирд╛ рдХрд░реЗрдВрдЧреЗ рдФрд░ рдЙрдиреНрд╣реЗрдВ рддреБрд░рдВрдд рдХреИрд╕реЗ рдареАрдХ рдХрд░реЗрдВред

рдХрдВрдЯреЗрдирд░ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рд╡реЗрдм UI рдкрд╣реБрдБрдЪ рдпреЛрдЧреНрдп рдирд╣реАрдВ

рдЖрдк docker ps рдЪрд▓рд╛рддреЗ рд╣реИрдВ рдФрд░ рдХрдВрдЯреЗрдирд░ рд░рдирд┐рдВрдЧ рджрд┐рдЦрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди http://localhost:9001 рдХреБрдЫ рдирд╣реАрдВ рд▓реМрдЯрд╛рддрд╛ рдпрд╛ рдЯрд╛рдЗрдо рдЖрдЙрдЯ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред

рдЗрд╕реЗ рд╕реБрд▓рдЭрд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдкрд╣рд▓реЗ рджреЗрдЦреЗрдВ рдХрд┐ рдХрдВрд╕реЛрд▓ рдкреЛрд░реНрдЯ рд╕рд╣реА рд╕реЗ рдореИрдк рд╣реБрдЖ рд╣реИ рдпрд╛ рдирд╣реАрдВ:

docker port minio

рдЖрдкрдХреЛ 9001/tcp -> 0.0.0.0:9001 рджрд┐рдЦрдирд╛ рдЪрд╛рд╣рд┐рдПред рдЕрдЧрд░ 9001 рдкреЛрд░реНрдЯ рд╕реВрдЪреА рдореЗрдВ рдирд╣реАрдВ рд╣реИ, рддреЛ рдЖрдк рдЗрд╕реЗ рдЕрдкрдиреЗ docker run рдХрдорд╛рдВрдб рдпрд╛ Compose рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдореИрдк рдХрд░рдирд╛ рднреВрд▓ рдЧрдП рд╣реИрдВред

MinIO рдХреЗ рд▓реЙрдЧ рднреА рджреЗрдЦреЗрдВ:

docker logs minio

рдЙрд╕ рдкрдВрдХреНрддрд┐ рдХреЛ рджреЗрдЦреЗрдВ рдЬрд┐рд╕рдореЗрдВ "Console: http://..." рд▓рд┐рдЦрд╛ рд╣реЛ тАФ рдпрд╣ рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐ MinIO рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХрд┐рд╕ рдПрдбреНрд░реЗрд╕ рдкрд░ рд╕реБрди рд░рд╣рд╛ рд╣реИред рдпрджрд┐ рдЕрдкреЗрдХреНрд╖рд┐рдд рд╕реЗ рдЕрд▓рдЧ рдкреЛрд░реНрдЯ рджрд┐рдЦреЗ, рддреЛ рдЖрдкрдХрд╛ --console-address рдлрд╝реНрд▓реИрдЧ рдЧрд▓рдд рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

рдорд╛рдЙрдВрдЯреЗрдб рд╡реЙрд▓реНрдпреВрдореНрд╕ рдкрд░ рдЕрдиреБрдорддрд┐ (permissions) рд╕реЗ рдЬреБрдбрд╝реА рддреНрд░реБрдЯрд┐рдпрд╛рдБ

MinIO рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдкрд░ рдХреНрд░реИрд╢ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рдпрд╛ рд▓реЙрдЧ рдореЗрдВ "permission denied" рддреНрд░реБрдЯрд┐рдпрд╛рдБ рджрд┐рдЦрддреА рд╣реИрдВ рдЬрдм рд╡рд╣ /data рдкрд░ рд▓рд┐рдЦрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддрд╛ рд╣реИред

MinIO рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрдВрдЯреЗрдирд░ рдХреЗ рдЕрдВрджрд░ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд▓рддреА рд╣реИ, рдФрд░ рдЙрд╕ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдЖрдкрдХреА рдорд╛рдЙрдВрдЯреЗрдб рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдкрд░ рд▓рд┐рдЦрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдЪрд╛рд╣рд┐рдПред рдЗрд╕реЗ рдРрд╕реЗ рдареАрдХ рдХрд░реЗрдВ:

chmod -R 755 ~/minio/data

рдпрд╛ рдпрджрд┐ рдЖрдк Linux рдкрд░ рд╣реИрдВ, рддреЛ рдХрдВрдЯреЗрдирд░ рдХреЛ рдЕрдкрдиреЗ рдпреВрдЬрд╝рд░ ID рдХреЗ рд╕рд╛рде рдЪрд▓рд╛рдПрдБ:

docker run --user $(id -u):$(id -g) ...

рдЕрдиреНрдп рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рд╕рд╛рде рдкреЛрд░реНрдЯ рдХреЙрдиреНрдлреНрд▓рд┐рдХреНрдЯ

рдХрдВрдЯреЗрдирд░ рд╢реБрд░реВ рдХрд░рддреЗ рд╕рдордп "bind: address already in use" рдорд┐рд▓рддрд╛ рд╣реИред

рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдХреЛрдИ рдФрд░ рд╕реЗрд╡рд╛ рдкрд╣рд▓реЗ рд╕реЗ 9000 рдпрд╛ 9001 рдкреЛрд░реНрдЯ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реА рд╣реИред рдкрддрд╛ рдХрд░реЗрдВ рдХреМрди рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реИ:

# Linux/macOS
lsof -i :9000
lsof -i :9001

# Windows
netstat -ano | findstr :9000

рдФрд░ рдлрд┐рд░ MinIO рдХреЛ рдЕрд▓рдЧ рд╣реЛрд╕реНрдЯ рдкреЛрд░реНрдЯреНрд╕ рдкрд░ рдореИрдк рдХрд░реЗрдВ:

docker run -p 9090:9000 -p 9091:9001 ...

рдЕрдм API рдХреЛ localhost:9090 рдкрд░ рдФрд░ рдХрдВрд╕реЛрд▓ рдХреЛ localhost:9091 рдкрд░ рдПрдХреНрд╕реЗрд╕ рдХрд░реЗрдВред

рдХреНрд░реЗрдбреЗрдВрд╢рд┐рдпрд▓реНрд╕ рдЕрдкреЗрдХреНрд╖рд╛ рдХреЗ рдореБрддрд╛рдмрд┐рдХ рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд░рд╣реЗ

рдЖрдкрдиреЗ MINIO_ROOT_USER рдФрд░ MINIO_ROOT_PASSWORD рд╕реЗрдЯ рдХрд┐рдП рд╣реИрдВ, рд▓реЗрдХрд┐рди рд▓реЙрдЧрд┐рди рдирд╣реАрдВ рд╣реЛ рд░рд╣рд╛, рдпрд╛ рдХрдВрдЯреЗрдирд░ рд╢реБрд░реВ рдирд╣реАрдВ рд╣реЛ рд░рд╣рд╛ред

рд╕рдорд╛рдзрд╛рди рдХреЗ рд▓рд┐рдП рджреЗрдЦреЗрдВ рдХрд┐ рдЖрдкрдиреЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ environment рд╡реЗрд░рд┐рдПрдмрд▓реНрд╕ рдкрд╛рд╕ рдХрд┐рдП рдереЗ рдпрд╛ рдирд╣реАрдВ:

docker inspect minio | grep -A 5 Env

рдЖрдЙрдЯрдкреБрдЯ рдореЗрдВ MINIO_ROOT_USER рдФрд░ MINIO_ROOT_PASSWORD рджреЗрдЦреЗрдВред рдЕрдЧрд░ рдпреЗ рдЧрд╛рдпрдм рд╣реИрдВ, рддреЛ рдЖрдк -e рдлрд╝реНрд▓реИрдЧреНрд╕ рдпрд╛ Compose рдлрд╝рд╛рдЗрд▓ рдореЗрдВ environment: рд╕реЗрдХреНрд╢рди рдбрд╛рд▓рдирд╛ рднреВрд▓ рдЧрдП рд╣реИрдВред

MinIO рдореЗрдВ рдкрд╛рд╕рд╡рд░реНрдб рдХрдо рд╕реЗ рдХрдо 8 рдЕрдХреНрд╖рд░реЛрдВ рдХрд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдЕрдЧрд░ рдЖрдкрдХрд╛ рдкрд╛рд╕рд╡рд░реНрдб рдЫреЛрдЯрд╛ рд╣реИ, рддреЛ рдХрдВрдЯреЗрдирд░ рдЙрд╕реЗ рдЕрд╕реНрд╡реАрдХрд╛рд░ рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдпрд╛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддрд╛ рд╣реИред

рдпрджрд┐ рдЖрдкрдиреЗ рдореМрдЬреВрджрд╛ рд╕реЗрдЯрдЕрдк рдкрд░ рдХреНрд░реЗрдбреЗрдВрд╢рд┐рдпрд▓реНрд╕ рдмрджрд▓реЗ рд╣реИрдВ, рддреЛ рдХрдВрдЯреЗрдирд░ рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдмрдВрдж рдФрд░ рд╣рдЯрд╛рдПрдБ, рдлрд┐рд░ рдирдпрд╛ рд╢реБрд░реВ рдХрд░реЗрдВ:

docker stop minio
docker rm minio
docker run ...  # with new credentials

рдкреБрд░рд╛рдиреА рдХреНрд░реЗрдбреЗрдВрд╢рд┐рдпрд▓ рдлрд╝рд╛рдЗрд▓реЗрдВ рдЖрдкрдХреЗ рдбреЗрдЯрд╛ рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдореЗрдВ рдмрдиреА рд░рд╣ рд╕рдХрддреА рд╣реИрдВ рдФрд░ рдХреЙрдиреНрдлреНрд▓рд┐рдХреНрдЯ рдХрд╛ рдХрд╛рд░рдг рдмрди рд╕рдХрддреА рд╣реИрдВред

Docker рдХреЗ рд╕рд╛рде MinIO рдЪрд▓рд╛рдиреЗ рдХреЗ рд╕рд░реНрд╡реЛрддреНрддрдо рдЕрднреНрдпрд╛рд╕

рдЗрди рдЕрднреНрдпрд╛рд╕реЛрдВ рдХрд╛ рдкрд╛рд▓рди рдХрд░реЗрдВ рддрд╛рдХрд┐ рдЖрдо рдЧрд▓рддрд┐рдпреЛрдВ рд╕реЗ рдмрдЪрд╛ рдЬрд╛ рд╕рдХреЗ рдФрд░ рдЖрдкрдХрд╛ MinIO рд╕реЗрдЯрдЕрдк рдореЗрдВрдЯреЗрди рдХрд░рдиреЗ рдпреЛрдЧреНрдп рд░рд╣реЗред

  • рджреЛрд╣рд░рд╛рдиреЗ рдпреЛрдЧреНрдпрдкрди рдХреЗ рд▓рд┐рдП Docker Compose рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред рдПрдХ Compose рдлрд╝рд╛рдЗрд▓ рдЖрдкрдХреЗ рд╕рдЯреАрдХ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди тАФ рдкреЛрд░реНрдЯ, рд╡реЙрд▓реНрдпреВрдо, environment рд╡реЗрд░рд┐рдПрдмрд▓реНрд╕, рдФрд░ рдХрдорд╛рдВрдбреНрд╕ тАФ рдХрд╛ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рджреЗрддреА рд╣реИред рдЖрдк рдЗрд╕реЗ рд╡рд░реНрд╢рди рдХрдВрдЯреНрд░реЛрд▓ рдореЗрдВ рд░рдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдЯреАрдо рдХреЗ рд╕рд╛рде рд╕рд╛рдЭрд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдорд╢реАрдиреЛрдВ рдкрд░ рдПрдХ рдЬреИрд╕реЗ рд╕реЗрдЯрдЕрдк рджреЛрдмрд╛рд░рд╛ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВред рд╢реЗрд▓ рд╣рд┐рд╕реНрдЯреНрд░реА рд╕реЗ рд▓рдВрдмреЗ docker run рдХрдорд╛рдВрдб рдЪрд▓рд╛рдиреЗ рд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ рд╡рд┐рдЪрд▓рди рдФрд░ рдЧрд▓рддрд┐рдпрд╛рдБ рд╣реЛрддреА рд╣реИрдВред

  • рд╣рдореЗрд╢рд╛ рдкрд░рд╕рд┐рд╕реНрдЯреЗрдВрдЯ рд╕реНрдЯреЛрд░реЗрдЬ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВред рдХреЛрдИ рднреА рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдбреЗрдЯрд╛ рд╕реНрдЯреЛрд░ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рд╡реЙрд▓реНрдпреВрдо рдпрд╛ рдмрд╛рдЗрдВрдб рдорд╛рдЙрдВрдЯ рдореИрдк рдХрд░реЗрдВред рдХрдВрдЯреЗрдирд░ рдХреНрд╖рдгрд┐рдХ рд╣реЛрддреЗ рд╣реИрдВ тАФ рдЕрдЧрд░ рдЖрдк рдпрд╣ рдХрджрдо рдЫреЛрдбрд╝рддреЗ рд╣реИрдВ, рддреЛ рдХрдВрдЯреЗрдирд░ рд░реАрд╕реНрдЯрд╛рд░реНрдЯ рдкрд░ рд╕рдм рдХреБрдЫ рдЦреЛ рджреЗрдВрдЧреЗред рдЕрдкрдиреА рд╕реЗрдЯрдЕрдк рдХреЛ docker inspect minio рд╕реЗ рдЬрд╛рдБрдЪреЗрдВ рдФрд░ рд╡реЙрд▓реНрдпреВрдо рдореИрдкрд┐рдВрдЧ рд╕рд╣реА рд╣реИ рдпрд╣ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░реЗрдВред

  • рдХреНрд░реЗрдбреЗрдВрд╢рд┐рдпрд▓реНрд╕ рдХреЛ рдХрдорд╛рдВрдб рд╣рд┐рд╕реНрдЯреНрд░реА рд╕реЗ рджреВрд░ рд░рдЦреЗрдВред рдкрд╛рд╕рд╡рд░реНрдб рд╕реАрдзреЗ docker run рдХрдорд╛рдВрдбреНрд╕ рдореЗрдВ рди рдбрд╛рд▓реЗрдВ рдпрд╛ рдЙрдиреНрд╣реЗрдВ рдЕрдкрдиреА Compose рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ git рдкрд░ рдХрдорд┐рдЯ рди рдХрд░реЗрдВред Docker Compose рдХреЗ рд╕рд╛рде environment рдлрд╝рд╛рдЗрд▓реЛрдВ (.env) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ, рдпрд╛ рд░рдирдЯрд╛рдЗрдо рдкрд░ environment рд╡реЗрд░рд┐рдПрдмрд▓реНрд╕ рдХреЗ рдЬрд░рд┐рдП рдХреНрд░реЗрдбреЗрдВрд╢рд┐рдпрд▓реНрд╕ рдкрд╛рд╕ рдХрд░реЗрдВред .env рдХреЛ рддреБрд░рдВрдд рдЕрдкрдиреЗ .gitignore рдореЗрдВ рдЬреЛрдбрд╝реЗрдВред

  • рдбреЗрд╡рд▓рдкрдореЗрдВрдЯ рдХреЗ рд▓рд┐рдП рдХреЗрд╡рд▓ рд╕рд┐рдВрдЧрд▓-рдиреЛрдб рдореЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред рдбрд┐рд╕реНрдЯреНрд░реАрдмреНрдпреВрдЯреЗрдб рдореЛрдб рдЬрдЯрд┐рд▓ рд╣реЛрддрд╛ рд╣реИ рдФрд░ рд╕реЗрдЯрдЕрдк рдореЗрдВ рд╕рдордп рд▓реЗрддрд╛ рд╣реИред рдЖрдкрдХреЛ рдЕрдкрдиреЗ рд▓реИрдкрдЯреЙрдк рдкрд░ рд╣рд╛рдИ рдЕрд╡реЗрд▓реЗрдмрд┐рд▓рд┐рдЯреА рдпрд╛ рдЗрд░реЗрдЬрд╝рд░ рдХреЛрдбрд┐рдВрдЧ рдХреА рдЬрд╝рд░реВрд░рдд рдирд╣реАрдВ рд╣реЛрддреАред рдбрд┐рд╕реНрдЯреНрд░реАрдмреНрдпреВрдЯреЗрдб рдбрд┐рдкреНрд▓реЙрдпрдореЗрдВрдЯреНрд╕ рдХреЛ рдкреНрд░реЛрдбрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рдмрдЪрд╛рдХрд░ рд░рдЦреЗрдВ рдЬрд╣рд╛рдБ рдбрд╛рдЙрдирдЯрд╛рдЗрдо рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдорд╛рдпрдиреЗ рд░рдЦрддрд╛ рд╣реИред

  • рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдХреЗ рджреМрд░рд╛рди рд▓реЙрдЧреНрд╕ рдореЙрдирд┐рдЯрд░ рдХрд░реЗрдВред рдкрд╣рд▓реА рдмрд╛рд░ MinIO рд╢реБрд░реВ рдХрд░рддреЗ рд╕рдордп docker logs -f minio рдЪрд▓рд╛рдПрдБред рд▓реЙрдЧреНрд╕ рдЖрдкрдХреЛ API рдПрдВрдбрдкреЙрдЗрдВрдЯ, рдХрдВрд╕реЛрд▓ URL, рдФрд░ рдХреЛрдИ рднреА рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рддреНрд░реБрдЯрд┐рдпрд╛рдБ рджрд┐рдЦрд╛рддреЗ рд╣реИрдВред рдЕрдЧрд░ рдХреБрдЫ рдЧрд▓рдд рд╣реИ, рддреЛ рдЖрдк рддреБрд░рдВрдд рджреЗрдЦ рд▓реЗрдВрдЧреЗ, рдмрдЬрд╛рдп рдЗрд╕рдХреЗ рдХрд┐ рд╕реЛрдЪрддреЗ рд░рд╣реЗрдВ рдХрд┐ рдХреБрдЫ рдХрд╛рдо рдХреНрдпреЛрдВ рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ред

рдЗрди рдЕрднреНрдпрд╛рд╕реЛрдВ рдХрд╛ рдкрд╛рд▓рди рдХрд░реЗрдВ рдФрд░ рдЖрдкрдХрд╛ MinIO рд╕реЗрдЯрдЕрдк рдкрд╣рд▓реЗ рджрд┐рди рд╕реЗ рд╣реА рдордЬрд╝рдмреВрдд рд░рд╣реЗрдЧрд╛ред

рдирд┐рд╖реНрдХрд░реНрд╖

Docker рдХреЗ рд╕рд╛рде MinIO рдЪрд▓рд╛рдиреЗ рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдЖрдк рдПрдХ рдорд┐рдирдЯ рд╕реЗ рднреА рдХрдо рд╕рдордп рдореЗрдВ рдЕрдкрдиреА рдорд╢реАрди рдкрд░ S3-рд╕рдВрдЧрдд рдСрдмреНрдЬреЗрдХреНрдЯ рд╕реНрдЯреЛрд░реЗрдЬ рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВред

рдбреЗрд╡рд▓рдкрдореЗрдВрдЯ, рдЯреЗрд╕реНрдЯрд┐рдВрдЧ, рдФрд░ рдЫреЛрдЯреЗ рдкреИрдорд╛рдиреЗ рдХреА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рд▓рд┐рдП, Docker рдореЗрдВ рд╕рд┐рдВрдЧрд▓-рдиреЛрдб MinIO рдЖрдкрдХреЛ рд╣рд░ рд╡рд╣ рдЪреАрдЬрд╝ рджреЗрддрд╛ рд╣реИ рдЬрд┐рд╕рдХреА рдЖрдкрдХреЛ рдЬрд╝рд░реВрд░рдд рд╣реИред рдЖрдкрдХреЛ рдкреВрд░рд╛ S3 API рдЕрдиреБрдХреВрд▓рди, рдкреНрд░рдмрдВрдзрди рдХреЗ рд▓рд┐рдП рд╡реЗрдм рдХрдВрд╕реЛрд▓, рдФрд░ рдЕрдкрдиреЗ рдбреЗрдЯрд╛ рдкрд░ рдкреВрд░реНрдг рдирд┐рдпрдВрддреНрд░рдг рдорд┐рд▓рддрд╛ рд╣реИ тАФ рдмрд┐рдирд╛ рдХреНрд▓рд╛рдЙрдб рд╕реЗрд╡рд╛рдУрдВ рдкрд░ рдирд┐рд░реНрднрд░ рд╣реБрдП рдпрд╛ рдЙрд╕ рд╕реНрдЯреЛрд░реЗрдЬ рдХреЗ рд▓рд┐рдП рднреБрдЧрддрд╛рди рдХрд┐рдП рдЬрд┐рд╕реЗ рдЖрдк рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддреЗред

рдмреБрдирд┐рдпрд╛рджреА рдмрд╛рддреЛрдВ рд╕реЗ рд╢реБрд░реВ рдХрд░реЗрдВ: рдПрдХ рд╕рд░рд▓ docker run рдХрдорд╛рдВрдб рдпрд╛ рдкрд░рд╕рд┐рд╕реНрдЯреЗрдВрдЯ рд╡реЙрд▓реНрдпреВрдореНрд╕ рдФрд░ рд╕реБрд░рдХреНрд╖рд┐рдд рдХреНрд░реЗрдбреЗрдВрд╢рд┐рдпрд▓реНрд╕ рд╡рд╛рд▓реА Docker Compose рдлрд╝рд╛рдЗрд▓ (рджреВрд╕рд░рд╛ рдмреЗрд╣рддрд░ рд╣реИ)ред рдЕрдкрдирд╛ рд╕реЗрдЯрдЕрдк рдЯреЗрд╕реНрдЯ рдХрд░реЗрдВ, рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдХреЗрд╡рд▓ рддрднреА рдЬрдЯрд┐рд▓рддрд╛ рдЬреЛрдбрд╝реЗрдВ рдЬрдм рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЬрд╝рд░реВрд░рдд рд╣реЛред

рдбрд┐рд╕реНрдЯреНрд░реАрдмреНрдпреВрдЯреЗрдб рдореЛрдб, рд╣рд╛рдИ рдЕрд╡реЗрд▓реЗрдмрд┐рд▓рд┐рдЯреА, рдФрд░ рдкреНрд░реЛрдбрдХреНрд╢рди-рдЧреНрд░реЗрдб рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХрд┐рд╕реА рдХрд╛рд░рдг рд╕реЗ рдореМрдЬреВрдж рд╣реИрдВ тАФ рд▓реЗрдХрд┐рди рд╡рд╣ рдХрд╛рд░рдг рд▓реЛрдХрд▓ рдбреЗрд╡рд▓рдкрдореЗрдВрдЯ рдирд╣реАрдВ рд╣реИред рдЙрди рд╕реЗрдЯрдЕрдкреНрд╕ рдкрд░ рддрдм рдЬрд╛рдПрдБ рдЬрдм рдЖрдк рдкреНрд░реЛрдбрдХреНрд╢рди рдореЗрдВ рдбрд┐рдкреНрд▓реЙрдп рдХрд░ рд░рд╣реЗ рд╣реЛрдВ, рдЬрдм рдбрд╛рдЙрдирдЯрд╛рдЗрдо рдЖрдкрдХреЛ рдкреИрд╕реЗ рдЦрд░реНрдЪ рдХрд░рд╡рд╛рддрд╛ рд╣реЛ, рдпрд╛ рдЬрдм рдЖрдк рдРрд╕рд╛ рдбреЗрдЯрд╛ рд╕реНрдЯреЛрд░ рдХрд░ рд░рд╣реЗ рд╣реЛрдВ рдЬрд┐рд╕реЗ рдЦреЛрдпрд╛ рдирд╣реАрдВ рдЬрд╛ рд╕рдХрддрд╛ред рддрдм рддрдХ, рдЪреАрдЬрд╝реЛрдВ рдХреЛ рд╕рд░рд▓ рд░рдЦреЗрдВ рдФрд░ рдЗрдиреНрдлреНрд░рд╛рд╕реНрдЯреНрд░рдХреНрдЪрд░ рдореИрдиреЗрдЬ рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп рдЕрдкрдирд╛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛рдиреЗ рдкрд░ рдзреНрдпрд╛рди рджреЗрдВред

рдЬрдм рдЖрдк рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ Docker рд╡рд┐рд╖рдпреЛрдВ рдореЗрдВ рдЧрд╣рд░рд╛рдИ рд╕реЗ рдЬрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реЛрдВ, рддреЛ рд╣рдорд╛рд░рд╛ Docker рдФрд░ Kubernetes рдХреЗ рд╕рд╛рде Containerization рдФрд░ Virtualization рдХреЛрд░реНрд╕ рджреЗрдЦреЗрдВред

Dario Rade─Нi─З

рд▓реЗрдЦрдХ

Dario Rade─Нi─З

рдХреНрд░реЛрдПрд╢рд┐рдпрд╛ рдореЗрдВ рд╕реНрдерд┐рдд рд╕реАрдирд┐рдпрд░ рдбреЗрдЯрд╛ рд╕рд╛рдЗрдВрдЯрд┐рд╕реНрдЯред 700 рд╕реЗ рдЕрдзрд┐рдХ рдкреНрд░рдХрд╛рд╢рд┐рдд рд▓реЗрдЦреЛрдВ рдХреЗ рд╕рд╛рде рдЯреЙрдк рдЯреЗрдХ рд░рд╛рдЗрдЯрд░, рдЬрд┐рдирд╕реЗ 10M+ рд╡реНрдпреВрдЬрд╝ рдкреНрд░рд╛рдкреНрдд рд╣реБрдПред Machine Learning Automation with TPOT рдХреЗ рдкреБрд╕реНрддрдХ рд▓реЗрдЦрдХред

FAQs

рд╣рд╛рдИ-рдХрдВрдХрд░реЗрдиреНрд╕реА рдЕрдкрд▓реЛрдбреНрд╕ рдХреЗ рд▓рд┐рдП рдореИрдВ MinIO рдХрд╛ рдкреНрд░рджрд░реНрд╢рди рдХреИрд╕реЗ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░ рд╕рдХрддрд╛/рд╕рдХрддреА рд╣реВрдБ?

рдЕрдкрдиреЗ MinIO рд╕рд░реНрд╡рд░ рджреНрд╡рд╛рд░рд╛ рд╕рдВрднрд╛рд▓реА рдЬрд╛ рд╕рдХрдиреЗ рд╡рд╛рд▓реА рд╕рдордХрд╛рд▓реАрди рдХрдиреЗрдХреНрд╢рдиреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ MINIO_API_REQUESTS_MAX environment рд╡реЗрд░рд┐рдПрдмрд▓ рд╕рдорд╛рдпреЛрдЬрд┐рдд рдХрд░рдХреЗ рдмрдврд╝рд╛рдПрдБред рд╣рд╛рдИ-рдХрдВрдХрд░реЗрдиреНрд╕реА рд╡рд░реНрдХрд▓реЛрдбреНрд╕ рдХреЗ рд▓рд┐рдП, рдЕрдкрдиреЗ рд╕реЗрдЯрдЕрдк рдореЗрдВ рдПрдХ рд╕реЗ рдЕрдзрд┐рдХ рдбреНрд░рд╛рдЗрд╡ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдкрд░ рднреА рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ рдХреНрдпреЛрдВрдХрд┐ MinIO рдЙрдкрд▓рдмреНрдз рдбреНрд░рд╛рдЗрд╡реНрд╕ рдХреЗ рдмреАрдЪ рд╕реНрд╡рддрдГ рд▓реЛрдб рд╡рд┐рддрд░рд┐рдд рдХрд░рддрд╛ рд╣реИред рдпрджрд┐ рдЖрдк рдбрд┐рд╕реНрдЯреНрд░реАрдмреНрдпреВрдЯреЗрдб рдореЛрдб рдЪрд▓рд╛ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдиреЛрдбреНрд╕ рдХреЗ рдмреАрдЪ рдЖрдкрдХрд╛ рдиреЗрдЯрд╡рд░реНрдХ рдмреИрдВрдбрд╡рд┐рдбреНрде рдЯреНрд░реИрдлрд╝рд┐рдХ рд╕рдВрднрд╛рд▓ рд╕рдХрддрд╛ рд╣реИ рдФрд░ MinIO рдХрдореНрдпреБрдирд┐рдХреЗрд╢рди рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдкрд┐рдд рдиреЗрдЯрд╡рд░реНрдХ рдЗрдВрдЯрд░рдлреЗрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред

Docker Compose рдХреЗ рд╕рд╛рде MinIO рд╕реЗрдЯрдЕрдк рдХрд░рдиреЗ рдХреЗ рд╕рд░реНрд╡реЛрддреНрддрдо рдЕрднреНрдпрд╛рд╕ рдХреНрдпрд╛ рд╣реИрдВ?

рдкреНрд░реЛрдбрдХреНрд╢рди-рдЬреИрд╕реЗ рд╕реЗрдЯрдЕрдкреНрд╕ рдХреЗ рд▓рд┐рдП рд╣рдореЗрд╢рд╛ docker run рдХрдорд╛рдВрдбреНрд╕ рдХреЗ рдмрдЬрд╛рдп Docker Compose рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЖрдкрдХреА рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ рджреЛрд╣рд░рд╛рдиреЗ рдпреЛрдЧреНрдп рдФрд░ рд╡рд░реНрд╢рди-рдХрдВрдЯреНрд░реЛрд▓реНрдб рдмрдирд╛рддрд╛ рд╣реИред рдХреНрд░реЗрдбреЗрдВрд╢рд┐рдпрд▓реНрд╕ рдХреЛ рдЕрд▓рдЧ .env рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд░рдЦреЗрдВ рдФрд░ рдЙрдиреНрд╣реЗрдВ рд░рд┐рдкреЙрдЬрд╝рд┐рдЯрд░реА рд╕реЗ рдмрд╛рд╣рд░ рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП .gitignore рдореЗрдВ рдЬреЛрдбрд╝реЗрдВред рд╣реЛрд╕реНрдЯ рдкрд░ рд╕рдорд░реНрдкрд┐рдд рдбрд╛рдпрд░реЗрдХреНрдЯрд░реАрдЬрд╝ рд╕реЗ рдкрд░рд╕рд┐рд╕реНрдЯреЗрдВрдЯ рд╡реЙрд▓реНрдпреВрдореНрд╕ рдореИрдк рдХрд░реЗрдВ, рд░реАрд╕реНрдЯрд╛рд░реНрдЯ рдкреЙрд▓рд┐рд╕реАрдЬрд╝ рдХреЛ unless-stopped рдпрд╛ always рдкрд░ рд╕реЗрдЯ рдХрд░реЗрдВ, рдФрд░ рдХрдВрдЯреЗрдирд░ рдХреА рд╕реНрдерд┐рддрд┐ рдореЙрдирд┐рдЯрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП healthcheck рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╢рд╛рдорд┐рд▓ рдХрд░реЗрдВред

рдореИрдВ TLS рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕реБрд░рдХреНрд╖рд┐рдд рдПрдХреНрд╕реЗрд╕ рдХреЗ рд▓рд┐рдП MinIO рдХреИрд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реВрдБ?

TLS рд╕рд░реНрдЯрд┐рдлрд┐рдХреЗрдЯ рдЬрдирд░реЗрдЯ рдХрд░реЗрдВ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдЕрдкрдиреЗ рд╣реЛрд╕реНрдЯ рдкрд░ рдХрд┐рд╕реА рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдореЗрдВ рд░рдЦреЗрдВ, рдлрд┐рд░ рдЙрд╕ рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдХреЛ MinIO рдХрдВрдЯреЗрдирд░ рдХреЗ рдЕрдВрджрд░ /root/.minio/certs рдкрд░ рдорд╛рдЙрдВрдЯ рдХрд░реЗрдВред MinIO рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдкрд░ рд╕реНрд╡рддрдГ рдЗрд╕ рд▓реЛрдХреЗрд╢рди рдореЗрдВ рд╕рд░реНрдЯрд┐рдлрд┐рдХреЗрдЯреНрд╕ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рддрд╛ рд╣реИ рдФрд░ HTTPS рд╕рдХреНрд╖рдо рдХрд░ рджреЗрддрд╛ рд╣реИред рдЖрдкрдХреЛ public.crt (рд╕рд░реНрдЯрд┐рдлрд┐рдХреЗрдЯ) рдФрд░ private.key (рдкреНрд░рд╛рдЗрд╡реЗрдЯ рдХреА) рджреЛрдиреЛрдВ рдлрд╝рд╛рдЗрд▓реЗрдВ рдЪрд╛рд╣рд┐рдП, рдФрд░ рд╕рд░реНрдЯрд┐рдлрд┐рдХреЗрдЯ рдЖрдкрдХреЗ MinIO рд╕рд░реНрд╡рд░ рдХреЗ рд╣реЛрд╕реНрдЯрдиреЗрдо рдпрд╛ IP рдПрдбреНрд░реЗрд╕ рд╕реЗ рдореЗрд▓ рдЦрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред

MinIO рдФрд░ рдЕрдиреНрдп S3-рд╕рдВрдЧрдд рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЗ рдмреАрдЪ рдкреНрд░рдореБрдЦ рдЕрдВрддрд░ рдХреНрдпрд╛ рд╣реИрдВ?

MinIO рдкреВрд░реА рддрд░рд╣ рдУрдкрди-рд╕реЛрд░реНрд╕ рд╣реИ рдФрд░ рдЙрдЪреНрдЪ-рдкреНрд░рджрд░реНрд╢рди рдСрдмреНрдЬреЗрдХреНрдЯ рд╕реНрдЯреЛрд░реЗрдЬ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬрдмрдХрд┐ рдХрдИ S3-рд╕рдВрдЧрдд рд╡рд┐рдХрд▓реНрдк рдпрд╛ рддреЛ рдХреНрд▓рд╛рдЙрдб рд╕реЗрд╡рд╛рдПрдБ рд╣реИрдВ рдпрд╛ рдЙрдирдХреЗ рдлреАрдЪрд░ рд╕реЗрдЯ рд╕реАрдорд┐рдд рд╣реИрдВред MinIO рдбрд┐рд╕реНрдЯреНрд░реАрдмреНрдпреВрдЯреЗрдб рдЗрд░реЗрдЬрд╝рд░ рдХреЛрдбрд┐рдВрдЧ, рд╡рд░реНрд╢рдирд┐рдВрдЧ, рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди, рдФрд░ рд▓рд╛рдЗрдлрд╝рд╕рд╛рдЗрдХрд▓ рдиреАрддрд┐рдпреЛрдВ рдЬреИрд╕реЗ рдлреАрдЪрд░реНрд╕ рд╕рдкреЛрд░реНрдЯ рдХрд░рддрд╛ рд╣реИ рдЬреЛ AWS S3 рдХреА рдХреНрд╖рдорддрд╛рдУрдВ рд╕реЗ рдореЗрд▓ рдЦрд╛рддреЗ рд╣реИрдВред рдХреБрдЫ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЗ рд╡рд┐рдкрд░реАрдд, MinIO рдХрд╣реАрдВ рднреА рдЪрд▓рддрд╛ рд╣реИ тАФ рдмреЗрдпрд░ рдореЗрдЯрд▓, VMs, рдХрдВрдЯреЗрдирд░реНрд╕, рдпрд╛ Kubernetes тАФ рдФрд░ рдЖрдкрдХреЛ рдХрд┐рд╕реА рд╡рд┐рд╢реЗрд╖ рдХреНрд▓рд╛рдЙрдб рдкреНрд░рджрд╛рддрд╛ рд╕реЗ рдирд╣реАрдВ рдмрд╛рдБрдзрддрд╛ред

рдореИрдВ MinIO рдмреИрдХрдЕрдк рдФрд░ рд░рд┐рд╕реНрдЯреЛрд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЛ рдХреИрд╕реЗ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХрд░ рд╕рдХрддрд╛/рд╕рдХрддреА рд╣реВрдБ?

MinIO рдХреНрд▓рд╛рдЗрдВрдЯ (mc) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдмрдирд╛рдПрдБ рдЬреЛ рдмрдХреЗрдЯреНрд╕ рдХреЛ рдХрд┐рд╕реА рдЕрдиреНрдп MinIO рдЗрдВрд╕реНрдЯреЗрдВрд╕ рдпрд╛ S3-рд╕рдВрдЧрдд рд╕реНрдЯреЛрд░реЗрдЬ рдкрд░ mc mirror source/ destination/ рд╕реЗ рдорд┐рд░рд░ рдХрд░реЗрдВред рдЗрди рд╕реНрдХреНрд░рд┐рдкреНрдЯреНрд╕ рдХреЛ рдХреНрд░реЙрди рдЬреЙрдмреНрд╕ рд╕реЗ рд╢реЗрдбреНрдпреВрд▓ рдХрд░реЗрдВ рдпрд╛ MinIO рдХреА рдмрд┐рд▓реНрдЯ-рдЗрди рдмрдХреЗрдЯ рд░реЗрдкреНрд▓рд┐рдХреЗрд╢рди рд╕реБрд╡рд┐рдзрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ рддрд╛рдХрд┐ MinIO рдЗрдВрд╕реНрдЯреЗрдВрд╕реЗрдЬрд╝ рдХреЗ рдмреАрдЪ рдбреЗрдЯрд╛ рдЕрдкрдиреЗ-рдЖрдк рд╕рд┐рдВрдХ рд╣реЛ рдЬрд╛рдПред рд░рд┐рд╕реНрдЯреЛрд░ рдХреЗ рд▓рд┐рдП, mc mirror рдХреЛ рдЙрд▓реНрдЯреА рджрд┐рд╢рд╛ рдореЗрдВ рдЪрд▓рд╛рдХрд░ рдмреИрдХрдЕрдк рд▓реЛрдХреЗрд╢рди рд╕реЗ рдбреЗрдЯрд╛ рдХреЙрдкреА рдХрд░реЗрдВ, рдпрд╛ mc cp рдХреЛ --recursive рдлрд╝реНрд▓реИрдЧ рдХреЗ рд╕рд╛рде рдЙрдкрдпреЛрдЧ рдХрд░ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдмрдХреЗрдЯреНрд╕ рдпрд╛ рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рд░рд┐рд╕реНрдЯреЛрд░ рдХрд░реЗрдВред

рд╡рд┐рд╖рдп