From 4b2d04c86f40b06c68f952a9c0ffb59f44f28091 Mon Sep 17 00:00:00 2001 From: Harshavardhana Date: Thu, 11 Jan 2018 18:25:40 -0800 Subject: [PATCH] Add chroot environment doc for minio (#5366) Fixes #4659 --- docs/chroot/README.md | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 docs/chroot/README.md diff --git a/docs/chroot/README.md b/docs/chroot/README.md new file mode 100644 index 000000000..5fb2af7f0 --- /dev/null +++ b/docs/chroot/README.md @@ -0,0 +1,40 @@ +# Deploy Minio on Chrooted Environment [![Slack](https://slack.minio.io/slack?type=svg)](https://slack.minio.io) [![Go Report Card](https://goreportcard.com/badge/minio/minio)](https://goreportcard.com/report/minio/minio) [![Docker Pulls](https://img.shields.io/docker/pulls/minio/minio.svg?maxAge=604800)](https://hub.docker.com/r/minio/minio/) [![codecov](https://codecov.io/gh/minio/minio/branch/master/graph/badge.svg)](https://codecov.io/gh/minio/minio) + +Chroot allows user based namespace isolation on many standard Linux deployments. + +## 1. Prerequisites +* Familiarity with [chroot](http://man7.org/linux/man-pages/man2/chroot.2.html) +* Chroot installed on your machine. + +## 2. Install Minio in Chroot +```sh +mkdir -p /mnt/export/${USER}/bin +wget https://dl.minio.io/server/minio/release/linux-amd64/minio -O /mnt/export/${USER}/bin/minio +chmod +x /mnt/export/${USER}/bin/minio +``` + +Bind your `proc` mount to the target chroot directory +``` +sudo mount --bind /proc /mnt/export/${USER}/proc +``` + +## 3. Run Standalone Minio in Chroot +### GNU/Linux +```sh +sudo chroot --userspec username:group /mnt/export/${USER} /bin/minio --config-dir=/.minio server /data + +Endpoint: http://192.168.1.92:9000 http://65.19.167.92:9000 +AccessKey: MVPSPBW4NP2CMV1W3TXD +SecretKey: X3RKxEeFOI8InuNWoPsbG+XEVoaJVCqbvxe+PTOa +... +... +``` + +Instance is now accessible on the host at port 9000, proceed to access the Web browser at http://127.0.0.1:9000/ + +## Explore Further +- [Minio Erasure Code QuickStart Guide](https://docs.minio.io/docs/minio-erasure-code-quickstart-guide) +- [Use `mc` with Minio Server](https://docs.minio.io/docs/minio-client-quickstart-guide) +- [Use `aws-cli` with Minio Server](https://docs.minio.io/docs/aws-cli-with-minio) +- [Use `s3cmd` with Minio Server](https://docs.minio.io/docs/s3cmd-with-minio) +- [Use `minio-go` SDK with Minio Server](https://docs.minio.io/docs/golang-client-quickstart-guide)