In this Post I will discuss how to Use S3 Bucket in Docker containers, Let’s Start
Configuration and Installation
- Install the awscli, while checking if there are any versions currently installed, and not stopping any user processes
pip install --upgrade --user awscli
- Configure the CLI:
aws configure
- Enter the following:
- AWS Access Key ID: <ACCESS_KEY_ID>
- AWS Secret Access Key: <SECRET_ACCESS_KEY>
- Default region name: <Region>
- Default output format: json
- Copy the CLI configuration to the root user
sudo cp -r ~/.aws /root
- Install the s3fs package
sudo yum install s3fs-fuse -y
Configure Bucket
- Create a mount point for the s3 bucket
sudo mkdir /mnt/application-website
- Export the bucket name
export BUCKET=<S3_BUCKET_NAME>
- Mount the S3 bucket
sudo s3fs $BUCKET /mnt/application-website -o allow_other -o default_acl=public-read -o use_cache=/tmp/s3fs
- Verify that the bucket was mounted successfully
ll /mnt/application-website
- Copy the website files to the s3 bucket
cp -r ~/application-website/web/* /mnt/application-website
- Verify the files are in the folder
ll /mnt/application-website
- Verify the files are in the s3 bucket
aws s3 ls s3://$BUCKET
Run container using volume s3
- Run an httpd container using the S3 bucket
docker run -d --name web1 -p 80:80 --mount type=bind,source=/mnt/application-app,target=/usr/local/apache2/htdocs,readonly httpd:2.4
- In a web browser, verify connectivity to the container
You can check the application <Server-Public-IP:80>
Regards
Osama
One thought on “Storing container data in AWS s3”