LoginSignup
2
1

DockerでMinioのコンテナを立ててみる

Last updated at Posted at 2023-08-31

概要

  • DockerにてMinioのコンテナを立てる方法を簡単にまとめる。

前提

  • 筆者の環境はすでにMinio以外の開発用コンテナを立てたことがあり、途中からMinioのコンテナを追加を行う。
  • docker-composer.ymlなどは

方法

  • Dockerhubにログインする。
  • 下記にアクセスする。

  • latest以外のタグを確認する。ブラウザのウインドウを開いたままにしてあとからタグ名をコピーできるようにしておく。

    minio_minio_Tags.png

  • 下記のコマンドを実行してディレクトリを作成する。(この辺は筆者の環境に依存しているため、適宜ご自身の環境に合わせていただきたい。)

    mkdir .docker/minio
    
  • 下記コマンドを実行して作成したディレクトリにDockerfileを作成して開く。

    vi .docker/minio/Dockerfile
    
  • 開いたDockerfileを下記のように記載する。(FROMのあとはDockerhubのminioのタグ名を指定する。)curlのコマンドは参考文献先のMinioのドキュメントを参考にした。

    .docker/minio/Dockerfile
    FROM minio/minio:RELEASE.2023-08-29T23-07-35Z.fips
    
  • docker-compose.ymlと同じ階層に.envファイルを定義し下記の様に記載する。

    .env
    # minio
    MINIO_API_HOST_PORT=9000
    MINIO_API_CONTAINER_PORT=9000
    MINIO_CONSOLE_HOST_PORT=9001
    MINIO_CONSOLE_CONTAINER_PORT=9001
    MINIO_ROOT_USER=root_user
    MINIO_ROOT_PASSWORD=root_user_password
    MINIO_BUCKET_NAME=任意のバケット名
    MINIO_SERVER_ADDRESS=http://localhost:9000
    
  • docker-composer.ymlのserviceに下記の内容を追記する。

    docker-compose.yml
    minio:
      build: ./.docker/minio
      volumes:
        - "./minio/data:/data:delegated"
      ports:
        - ${MINIO_API_HOST_PORT}:${MINIO_API_CONTAINER_PORT}
        - ${MINIO_CONSOLE_HOST_PORT}:${MINIO_CONSOLE_CONTAINER_PORT}
      environment:
        - MINIO_ROOT_USER=${MINIO_ROOT_USER}
        - MINIO_ROOT_PASSWORD=${MINIO_ROOT_PASSWORD}
        - MINIO_SERVER_ADDRESS=${MINIO_SERVER_ADDRESS}
        - MINIO_BUCKET_NAME=${MINIO_BUCKET_NAME}
      command: server /data --console-address :${MINIO_CONSOLE_HOST_PORT}
    createbuckets:
      image: minio/mc
      depends_on:
        - minio
      environment:
        - MINIO_API_CONTAINER_PORT=${MINIO_API_CONTAINER_PORT}
        - MINIO_ROOT_USER=${MINIO_ROOT_USER}
        - MINIO_ROOT_PASSWORD=${MINIO_ROOT_PASSWORD}
        - MINIO_SERVER_ADDRESS=${MINIO_SERVER_ADDRESS}
        - MINIO_BUCKET_NAME=${MINIO_BUCKET_NAME}
      entrypoint: >
        /bin/sh -c "
        until (/usr/bin/mc config host add myminio http://minio:$$MINIO_API_CONTAINER_PORT $$MINIO_ROOT_USER $$MINIO_ROOT_PASSWORD) do echo '...waiting...' && sleep 1; done;
        /usr/bin/mc mb myminio/$$MINIO_BUCKET_NAME;
        /usr/bin/mc policy download myminio/$$MINIO_BUCKET_NAME;
        exit 0;
        "
    
  • ここまで記載できたら下記コマンドを実行する。

    docker-compose build
    docker-compose up -d
    
  • http://localhost:9001/loginにアクセスし、Usernameroot_user、Password → root_user_passwordとすることでログインできる。

  • ログイン後、手動でバケットを作らずとも.envのMINIO_BUCKET_NAMEの値のバケットが作られていれば完了となる。

参考文献

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1