00\_DockerSetup ================ ## Docker Setup # From: ## Trust Policy > { “Version”: “2012-10-17”, “Statement”: \[ { “Effect”: “Allow”, > “Principal”: { “Service”: \[ “codebuild.amazonaws.com”\] }, “Action”: > “sts:AssumeRole” }\] } ## Permissions > { “Version”: “2012-10-17”, “Statement”: \[ { “Effect”: “Allow”, > “Action”: \[ “codebuild:DeleteProject”, “codebuild:CreateProject”, > “codebuild:BatchGetBuilds”, “codebuild:StartBuild”\], “Resource”: > “arn:aws:codebuild:*:*:project/sagemaker-studio*" }, { "Effect": > "Allow", "Action": "logs:CreateLogStream", "Resource": > "arn:aws:logs:*:*:log-group:/aws/codebuild/sagemaker-studio*” }, { > “Effect”: “Allow”, “Action”: \[ “logs:GetLogEvents”, > “logs:PutLogEvents”\], “Resource”: > “arn:aws:logs:*:*:log-group:/aws/codebuild/sagemaker-studio*:log-stream:*” > }, { “Effect”: “Allow”, “Action”: “logs:CreateLogGroup”, “Resource”: > “*" }, { "Effect": "Allow", "Action": \[ "ecr:CreateRepository", > "ecr:BatchGetImage", "ecr:CompleteLayerUpload", "ecr:DescribeImages", > "ecr:DescribeRepositories", "ecr:UploadLayerPart", "ecr:ListImages", > "ecr:InitiateLayerUpload", "ecr:BatchCheckLayerAvailability", > "ecr:PutImage"\], "Resource": > "arn:aws:ecr:*:*:repository/sagemaker-studio*” }, { “Effect”: “Allow”, > “Action”: “ecr:GetAuthorizationToken”, “Resource”: “*" }, { "Effect": > "Allow", "Action": \[ "s3:GetObject", "s3:DeleteObject", > "s3:PutObject"\], "Resource": "arn:aws:s3:::sagemaker-*/*" }, { > "Effect": "Allow", "Action": \[ "s3:CreateBucket"\], "Resource": > "arn:aws:s3:::sagemaker*” }, { “Effect”: “Allow”, “Action”: \[ > “iam:GetRole”, “iam:ListRoles”\], “Resource”: "\*" }, { “Effect”: > “Allow”, “Action”: “iam:PassRole”, “Resource”: > “arn:aws:iam::*:role/*”, “Condition”: { “StringLikeIfExists”: { > “iam:PassedToService”: “codebuild.amazonaws.com” } } }\] } ## Install Studio Docker CLI ``` bash pip install sagemaker-studio-image-build ``` ## Build Processing Container ``` bash /home/sagemaker-user/.local/bin/sm-docker build . --file ./docker/Dockerfile-Processing --repository sagemaker-r-processing:1.0 ``` ## Build Training Container ``` bash /home/sagemaker-user/.local/bin/sm-docker build . --file ./docker/Dockerfile-Training --repository sagemaker-r-training:1.0 ``` ## Build Inference Container ``` bash /home/sagemaker-user/.local/bin/sm-docker build . --file ./docker/Dockerfile-Inference --repository sagemaker-r-inference:1.0 ```