Sign inSign up

michaelirey/ubuntu-with-tools

By michaelirey

•Updated about 2 years ago

Comes with aws_cli, gcloud, gh_cli, multiple ruby versions, basic gems, python, go, trufflehog

Image
0

1.8K

michaelirey/ubuntu-with-tools repository overview

⁠Ubuntu with Tools

Docker Image Version Docker Pulls Docker Build Status

⁠Overview

Ubuntu with Tools is a customized Ubuntu Docker image pre-installed with a comprehensive set of development tools and utilities. Designed to support both amd64 and arm64 architectures, this image is ideal for developers seeking a robust and versatile development environment. Whether you're working on cloud projects, software development, or system administration, this Docker image has you covered.

⁠Features

  • Development Essentials:
    • Compilers and build tools: build-essential, gcc, g++
    • Version control: git
    • Libraries: libffi-dev, libgdbm-dev, libncurses5-dev, libreadline-dev, libssl-dev, libyaml-dev, zlib1g-dev, libsqlite3-dev, libgmp-dev, libxml2-dev, libxslt-dev, libpq-dev
  • Utilities & Tools:
    • Text editors: nano
    • JSON processor: jq
    • Network tools: curl, wget, iputils-ping, dnsutils, nmap, traceroute, tcpdump
    • System monitoring: htop, sysstat, strace
    • Other utilities: iputils-ping, wget, gnupg2, redis-tools, lsb-release, postgresql-client, file, ssh, gawk, autoconf, automake, bison, libtool, pkg-config, golang, python3-pip, unzip, netcat-openbsd, tree, tmux, software-properties-common, ufw, fzf, lsof, whois, neofetch, silversearcher-ag, ack, byobu, trufflehog
  • Command-Line Interfaces:
    • Google Cloud CLI: Manage Google Cloud resources.
    • GitHub CLI (gh): Interact with GitHub directly from the terminal.
    • AWS CLI: Manage AWS services.
  • Ruby Environment:
    • rbenv: Ruby version management.
    • Multiple Ruby versions installed: 3.1.0, 3.2.4, 3.3.5.
    • Gems: bundler, pg, pry, json, faraday.
  • Security:
    • SSH Server: Configured to run on port 1977.
    • TruffleHog: Detect secrets and sensitive information.
  • Customization:
    • Timezone: Set to Los Angeles (America/Los_Angeles).
    • Shell Prompt: Customized to display IP address and timestamp.
    • Welcome Script: Displays system information upon container startup using a Python script with Rich library.

⁠Architecture Support

  • Supported Architectures: linux/amd64, linux/arm64

⁠Getting Started

⁠Prerequisites
  • Docker: Ensure Docker is installed on your system. Download it from here⁠.
  • Docker Buildx: Required for building multi-architecture images. Docker Desktop includes Buildx by default.
⁠Clone the Repository
git clone https://github.com/your-username/ubuntu-with-tools.git
cd ubuntu-with-tools
⁠Build the Docker Image Locally
⁠For ARM64 Architecture (e.g., macOS)
docker buildx build --platform linux/arm64 -t michaelirey/ubuntu-with-tools --load .
⁠For Both AMD64 and ARM64 Architectures and Push to Docker Hub
docker buildx build --platform linux/amd64,linux/arm64 -t michaelirey/ubuntu-with-tools:latest --push .
⁠Run the Docker Container
⁠Interactive Mode
docker run -it --rm michaelirey/ubuntu-with-tools bash
⁠SSH Access

The container runs an SSH server on port 1977. To start the container with SSH:

docker run -d -p 1977:1977 michaelirey/ubuntu-with-tools

Connect via SSH:

ssh root@localhost -p 1977

Note: Password authentication is disabled. Ensure you have set up SSH keys for authentication.

⁠Verify the Setup
  1. Access the Container:

    ssh root@localhost -p 1977
    
  2. Check Installed Tools:

    # Example: Check Git version
    git --version
    
    # Check Ruby versions
    rbenv versions
    
    # Verify AWS CLI
    aws --version
    
  3. Welcome Script:

    Upon logging in, the welcome.py script runs automatically, displaying system information in a styled table.

    python3 /root/welcome.py
    

⁠License

This project is licensed under the MIT License⁠.

⁠Acknowledgments

Tag summary

Content type

Image

Digest

sha256:41192415d…

Size

693.4 MB

Last updated

about 2 years ago

docker pull michaelirey/ubuntu-with-tools