1、config.env

# MINIO_ROOT_USER and MINIO_ROOT_PASSWORD sets the root account for the MinIO server.
# This user has unrestricted permissions to perform S3 and administrative API operations on any resource in the deployment.
# Omit to use the default values 'minioadmin:minioadmin'.
# MinIO recommends setting non-default values as a best practice, regardless of environment

MINIO_ROOT_USER=myminioadmin
MINIO_ROOT_PASSWORD=minio-secret-key-change-me

# MINIO_VOLUMES sets the storage volume or path to use for the MinIO server.

MINIO_VOLUMES="/mnt/data"

# MINIO_OPTS sets any additional commandline options to pass to the MinIO server.
# 例如, `--console-address :9001` sets the MinIO Console listen port
MINIO_OPTS="--console-address :9001"

# MINIO_SERVER_URL sets the hostname of the local machine for use with the MinIO Server
# MinIO assumes your network control plane can correctly resolve this hostname to the local machine

# Uncomment the following line and replace the value with the correct hostname for the local machine and port for the MinIO server (9000 by default).

#MINIO_SERVER_URL="http://minio.example.net:9000"
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.

2、docker-compose.yml

minio-alias1:
    container_name: "minio-alias1"
    hostname: "minio-alias1"
    image: "minio/minio"
    command: [
        "minio",
        "server",
        "--console-address",
        ":9001"
    ]
    ports:
      - "9000:9000"
      - "9001:9001"
    environment:
      MINIO_CONFIG_ENV_FILE: /etc/config.env
    networks:
      network-01:
        aliases:
          - minio-net1
    restart: always
    volumes:
      - "E:/config/minio/config.env:/etc/config.env"
      - "E:/data/minio:/mnt/data"

  imgproxy-alias1:
    container_name: "imgproxy-alias1"
    hostname: "imgproxy-alias1"
    image: "darthsim/imgproxy"
    ports:
      - "8080:8080"
    environment:
      IMGPROXY_BASE_URL: "http://minio-alias1:9000/"
    networks:
      network-01:
        aliases:
          - imgproxy-net1
    restart: always
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.

3、访问测试

# 若配置环境变量 IMGPROXY_BASE_URL,只能访问对应地址的图片,域名可省略
http://localhost:8080/_/rs:auto:300:800/plain/test/001.png
或
http://localhost:8080/_/rs:auto:300:800/plain/http://minio-alias1:9000/test/001.png
  • 1.
  • 2.
  • 3.
  • 4.
# 若没有配置环境变量 IMGPROXY_BASE_URL,需输入完整图片地址
http://localhost:8080/_/rs:auto:300:800/plain/https://www.baidu.com/img/001.png
  • 1.
  • 2.


3.1 如果使用签名访问,后面的链接需要使用url编码,例:

    http://localhost:8080/_/rs:auto:300:800/plain/test%2F001.png%3FX-Amz-xxx

# Resize
resize:%resizing_type:%width:%height:%enlarge:%extend
rs:%resizing_type:%width:%height:%enlarge:%extend

#  This is a meta-option that defines the resizing type, width, height, enlarge, and extend.
#  All arguments are optional and can be omitted to use their default values.

# resizing_type Default: fit
fit:调整图像大小,同时保持宽高比以适合给定的大小。
fill:调整图像大小,同时保持纵横比以填充给定大小并裁剪投影部分。
fill-down:与fill相同,但如果调整后的图像小于请求的大小,imgproxy将裁剪结果以保持请求的宽高比。
force:调整图像大小而不保持纵横比。
auto:如果源尺寸和结果尺寸具有相同的方向(纵向或横向),imgproxy将使用fill。否则,它将使用fit。
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.

4、 minio文档 minio官网

5、 imgproxy文档