STM32CubeIDEでTOPPERS/ASPカーネルを動かす - 準備編を参考に構築をしました。これで環境の部分は簡単にできると思います。
ツッコミ・アドバイス色々お願いします。
# Pull base image.
FROM ubuntu:16.04
# Install
RUN apt update && DEBIAN_FRONTEND=noninteractive apt install -y build-essential gcc g++ cmake libgtest-dev google-mock \
make fish wget git libboost-all-dev openssh-server libboost-regex1.58.0 libboost-regex1.58-dev lib32stdc++6 lib32ncurses5 lib32z1
# ARMコンパイラのインストール
RUN apt install -y gcc-arm-none-eabi gdb-arm-none-eabi
# ST-LINKのインストール
RUN apt install -y libusb-1.0
RUN git clone https://github.com/texane/stlink && cd stlink && make && \
cd build/Release && make install && ldconfig
# mbed
# gmockのビルド
WORKDIR /usr/src/gmock/
RUN cmake . && make && ln -s /usr/src/gmock/*.a /usr/lib
# gtestのビルド
WORKDIR /usr/src/gtest/
RUN cmake . && make && ln -s /usr/src/gtest/*.a /usr/lib
# 起動シェルの変更
CMD ["/usr/bin/fish"]
あとはマウント設定などをシェル化しておけばだいぶ楽かなと。