Skip to content

Commit

Permalink
Docker: update the docker file and add .dockerignore
Browse files Browse the repository at this point in the history
simplify the contenair
Correctly install the STM toolchain and ccache
Add bash completion
  • Loading branch information
khancyr authored and peterbarker committed Apr 30, 2020
1 parent ced185b commit 05f8d76
Show file tree
Hide file tree
Showing 2 changed files with 48 additions and 10 deletions.
29 changes: 29 additions & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
# Docker context ignore list
.azure
.github
.git
.idea
.vagrant
AntennaTracker
Rover
ArduCopter
ArduPlane
ArduSub
benchmarks
build
docs
libraries
mk
modules
tests
Tools
# autotest directories
test.?
terrain
logs
# mavproxy stuff
mav.*

# include the setup script and completion
!Tools/environment_install/install-prereqs-ubuntu.sh
!Tools/completion
29 changes: 19 additions & 10 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,29 +1,38 @@
FROM ubuntu:16.04
FROM ubuntu:18.04
WORKDIR /ardupilot

RUN useradd -U -d /ardupilot ardupilot && \
RUN useradd -U -m ardupilot && \
usermod -G users ardupilot

RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install --no-install-recommends -y \
lsb-release \
sudo \
software-properties-common \
python-software-properties
software-properties-common

COPY Tools/environment_install/install-prereqs-ubuntu.sh /ardupilot/Tools/environment_install/
COPY Tools/completion /ardupilot/Tools/completion/

# Create non root user for pip
ENV USER=ardupilot
ADD . /ardupilot

RUN echo "ardupilot ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/ardupilot
RUN chmod 0440 /etc/sudoers.d/ardupilot

RUN chown -R ardupilot:ardupilot /ardupilot

USER ardupilot
RUN bash -c "Tools/environment_install/install-prereqs-ubuntu.sh -y"
RUN sudo apt-get clean \

ENV SKIP_AP_EXT_ENV=1 SKIP_AP_GRAPHIC_ENV=1 SKIP_AP_COV_ENV=1 SKIP_AP_GIT_CHECK=1
RUN Tools/environment_install/install-prereqs-ubuntu.sh -y

# add waf alias to ardupilot waf to .bashrc
RUN echo "alias waf=\"/ardupilot/waf\"" >> ~/.bashrc

# Check that local/bin are in PATH for pip --user installed package
RUN echo "if [ -d \"\$HOME/.local/bin\" ] ; then\nPATH=\"\$HOME/.local/bin:\$PATH\"\nfi" >> ~/.bashrc

# Cleanup
RUN DEBIAN_FRONTEND=noninteractive sudo apt-get clean \
&& sudo rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*

ENV CCACHE_MAXSIZE=1G
ENV PATH /usr/lib/ccache:/ardupilot/Tools:${PATH}
ENV PATH /ardupilot/Tools/autotest:${PATH}
ENV PATH /ardupilot/.local/bin:$PATH

0 comments on commit 05f8d76

Please sign in to comment.