はじめに
こんばんは。
minio使用する際にバケットがないと言われてイラッとしたので、調べてみました。
本題
方法1
minio:
image: minio/minio:latest
ports:
- '${FORWARD_MINIO_PORT:-9001}:9001'
- '${FORWARD_MINIO_CONSOLE_PORT:-8900}:8900'
environment:
MINIO_ROOT_USER: root
MINIO_ROOT_PASSWORD: password
entrypoint: >
/bin/sh -c "
mkdir -p /data/minio/bucket1;
mkdir -p /data/minio/bucket2;
mkdir -p /data/minio/bucket3;
/usr/bin/minio server /data/minio --console-address ':8900';
exit 0;
"
deploy:
restart_policy:
condition: on-failure
上記のような感じでコマンドを実行してあげればデフォルトのバケットが作成されています。
方法2
minio:
image: minio/minio:latest
ports:
- 19000:9000
volumes:
- ./data/.minio/data:/export
- ./test/.minio/config:/root/.minio
data:
MINIO_ROOT_USER: root
MINIO_ROOT_PASSWORD: password
command: server /export
createbuckets:
image: minio/mc
depends_on:
- minio
entrypoint: >
/bin/sh -c "
/usr/bin/mc config host add myminio http://minio:9000 root password
/usr/bin/mc rm -r --force myminio/bucket1;
/usr/bin/mc mb myminio/bucket1;
/usr/bin/mc policy download myminio/bucket1;
exit 0;
"
という感じで、 minio/mc コンテナを別で起動してそちらから minioコンテナへ向けてコマンドを打つことで作ることができます。
終わりに
ざっくりしたがこの2パターンがあるみたいです。
ちなみにボクは方法1でやってます。 今のところ問題は出てないです。
現場からは以上です。