1)拉取鏡像
docker pull minio/minio
注意:
該命令默認會下載最新版本的鏡像,控制台也變得不再簡潔。
2) 運行容器
docker run -d -p 9000:9000 --name minio -e "MINIO_ACCESS_KEY=admin" -e "MINIO_SECRET_KEY=admin123456" -v /mnt/data:/data -v /mnt/config:/root/.minio minio/minio server /data --console-address ":9000" --address ":9090"
注意:
使用原來的命令運行容器會報錯:WARNING: Console endpoint is listening on a dynamic port (3101), please use --console-address ":PORT" to choose a static port。
這是docker在提示我們使用靜態的固定端口,以避免啟動時使用隨機端口。但minio一直只用的9000端口,在運行命令中指定了端口映射,為什么還會出現這樣的提示呢。
通過docker官網上的鏡像介紹,之前只有一個端口。現在有兩個了,區分了Console和API兩個服務的端口。原來都是共同使用9000,現在需要在啟動命令中映射兩個端口,然后指定哪個端口做哪項服務。
下載舊版本
1)拉取舊版本鏡像
docker pull minio/minio:RELEASE.2021-06-17T00-10-46Z
2)運行容器 (如果要后台運行 加入 -d 參數)
docker run -p 9000:9000 --name minio_old\ -e "MINIO_ACCESS_KEY=admin" \ -e "MINIO_SECRET_KEY=admin12345" \ -v /usr/local/minio/data:/data \ -v /usr/local/minio/config:/root/.minio \ minio/minio:RELEASE.2021-06-17T00-10-46Z server /data
注意:
/usr/local/minio/data // 數據卷存放路徑 /usr/local/minio/config //服務配置文件
MinIO 需要一個持久卷來存儲配置和應用數據,我們可以簡單的傳遞一個目錄如:/data 來啟動容器。這個目錄會在容器啟動時在容器的文件系統中創建,不過所有的數據都會在容器退出時丟失。
我們實際開發中是不可能這樣使用的,所以必須使用加入-v 參數 將系統文件 映射到 容器內部對應的文件夾,這樣就可以將容器中的數據持久化到磁盤文件中了。
3)進行文件存儲
新建一個存儲桶,往里面添加一個文件:
上傳成功之后,我們去到我們的服務data數據卷存儲位置,查看文件是否存在。
注意:如果想從外部直接訪問minio中的文件內容,訪問路徑不要加 /minio
如:http://192.168.200.130:9000/minio/leadnews/2021/10/11/1390536764510310401.html (不對)
http://192.168.200.130:9000/leadnews/2021/10/11/1390536764510310401.html (正確姿勢)