A development environment for C programming based on ubuntu with Ceedling and Doxygen installed
10K+
The following development environment is based on ubuntu LTS and contains:
gccmakevimbashgitceedlingdoxygenrbenvMeant to provide a replacement to the Official Ceedling image which is based on an old alpine linux which is vulnerable to multiple security threats.
Since current version of Ceedling (v.0.31.1) is not up-to-date, it requires ruby v3.0.6 and will not work with latest ruby version. Luckily, this image contains rbenv which makes it super easy to work with any ruby version we like.
docker run --interactive --tty --rm druxx/ubuntu-ceedling:latest
FROM ubuntu:22.04 as base
MAINTAINER [email protected]
# Install the required packages
ENV DEBIAN_FRONTEND=noninteractive
RUN apt-get update && \
apt-get install --yes --no-install-recommends \
ca-certificates \
systemd \
build-essential \
git \
make \
gcc \
gcc-avr \
valgrind \
vim \
bash \
wget \
curl \
libz-dev \
doxygen
# Clean the apt cache
RUN apt-get clean &&\
rm -rf /var/cache/apt/archives/* && \
rm -rf /var/lib/apt/lists/*
# Install rbenv-build
RUN curl --fail --silent --show-error --location https://github.com/rbenv/rbenv-installer/raw/HEAD/bin/rbenv-installer | bash
ENV PATH="$PATH:/root/.rbenv/bin:/root/.rbenv/shims"
# Validate rbenv using rbev-doctor
RUN curl -fsSL https://github.com/rbenv/rbenv-installer/raw/HEAD/bin/rbenv-doctor | bash
RUN echo 'eval "$(~/.rbenv/bin/rbenv init -)"' >> /etc/profile.d/rbenv.sh
# Install rbenv and set the desired version
ARG RBENV_VERSION=3.0.6
ENV RBENV_VERSION $RBENV_VERSION
RUN rbenv install $RBENV_VERSION &&\
rbenv global $RBENV_VERSION
# Install ceedling, cmock and unity
RUN gem install ceedling
WORKDIR /project
CMD bash
# Comments are provided throughout this file to help you get started.
# If you need more help, visit the Docker compose reference guide at
# https://docs.docker.com/go/compose-spec-reference/
# Here the instructions define your application as a service called "app".
# This service is built from the Dockerfile in the current directory.
# You can add other services your application may depend on here, such as a
# database or a cache. For examples, see the Awesome Compose repository:
# https://github.com/docker/awesome-compose
services:
app:
image: druxx/ubuntu-ceedling:22.04-v0.31.1
platform: linux/amd64
build:
context: .
dockerfile: Dockerfile
volumes:
- ./demo:/project
restart: unless-stopped
# If your application exposes a port, uncomment the following lines and change
# the port numbers as needed. The first number is the host port and the second
# is the port inside the container.
# ports:
# - 8080:8080
Content type
Image
Digest
sha256:3c5c8da0b…
Size
408.2 MB
Last updated
over 2 years ago
docker pull druxx/ubuntu-ceedling