Sign inSign up

sykescottages/cdk

By sykescottages

•Updated 2 months ago

The Sykes Cottages Docker CDK images

Image
0

5.1K

sykescottages/cdk repository overview

⁠Sykes Cottages CDK Docker Images

⁠About

We use a variety of CDK containers at Sykes Cottages across most of our platforms, but due to a lack of official and maintained images we have introduced our own. All of our CDK images are based off the Base Sykes⁠ image which uses the official Ubuntu Docker image. We opted for this path to utilise aptitude so we could manage packages easier and utilise the package integrity verification that comes with apititude.

⁠Pre-Installed

All images contain JQ, Docker and the AWS CLI to support various CDK features.

⁠AWS CLI

For the AWS CLI features you will need to define your AWS credentials by passing them to the container via the .aws mounts e.g.

docker run \
    -v ~/.aws/credentials:/root/.aws/credentials \
    -v ~/.aws/config:/root/.aws/config \
    sykescottages/cdk:latest \
    aws sts get-caller-identity

The mounting user can be variable depending on what user you run the container with.

⁠Docker

CDK allows you to build docker images for ECR repositories and to utilise this you will need docker available. As you can't run docker directly within a container you will need to pass the docker sock to the container through a volume e.g.

docker run \
    -v /var/run/docker.sock:/var/run/docker.sock \
    sykescottages/cdk:latest \
    docker --version
⁠JQ

The addition of JQ was to expand on the AWS CLI's version of JQ which is limited.

docker run \
    sykescottages/cdk:latest \
    jq --version

⁠Supported versions and available tags

  • 1.203.0 (Deprecated) - sykescottages/cdk:1
  • 2.112.0 (Current) - sykescottages/cdk:2

⁠Image Itinerary

For better visibility of packages there is now an included aptitude itinerary with each tag, this is located in the corresponding folder to the tag. This will give better clarity on package version changes and be reflected in the git history.

⁠Usage

Pulling an image:

docker pull sykescottages/cdk:version

Running a container:

docker run -it \
    -v ~/.aws/credentials:/root/.aws/credentials \
    -v ~/.aws/config:/root/.aws/config \
    -v /var/run/docker.sock:/var/run/docker.sock \
    --privileged \
     sykescottages/cdk:latest --version

Building from this image simply reference it as part of your Dockerfile:

FROM sykescottages/cdk:version

# ... Your configuration
⁠Docker Compose
version: '3'

services:
    cdk:
        image: sykescottages/cdk:latest
        volumes:
            - .:/code
            - ~/.aws/credentials:/root/.aws/credentials
            - ~/.aws/config:/root/.aws/config
            - /var/run/docker.sock:/var/run/docker.sock
        working_dir: /code
        privileged: true

⁠Testing

All testing is done in the form of a SUT containers which is run by the Docker Hub (see Automated repository tests⁠ for more information) and runs a variety of shell scripts.

⁠Contributions

Contributions are welcome, but please adhere to the CONTRIBUTION.MD⁠. Also, if you could ensure that there are tests with every modification of the Dockerfiles to verify that your changes work.

Tag summary

Content type

Image

Digest

sha256:0c2aaaa90…

Size

775.9 MB

Last updated

2 months ago

docker pull sykescottages/cdk