Docker

From Bike Wiki
Revision as of 20:03, 12 December 2020 by Admin (talk | contribs) (Vision’s Current Used Dockerfile (as of 12/12/20))
Jump to navigation Jump to search

Docker

Docker is an open-source project for automating the deployment of applications as portable, self-sufficient containers that can run on the cloud or on-premises.

Why we use it

We use docker as a way to have a portable, replicable environment to conduct development on the vision system without having physical access to the bike or any of its corresponding SoCs.

Docker on Linux

  • To install:
    • For Ubuntu:
      • sudo apt-get install docker
    • For Red Hat:
      • sudo yum install docker
    • For Fedora:
      • sudo dnf install docker -y
    • For Arch:
      • sudo pacman -S docker
  • Starting the docker daemon:
    • sudo systemctl enable docker.service

Docker With Pain (Windows)

Use the “edge” version or else it won’t like the windows version

Docker on Mac

Pretty straightforward installation. There is a tutorial you can follow after installation.

Commands

  • To run a docker image in a container/volume:
    • docker run -it --rm --mount source=SOURCE,destination=/DESTINATION IMAGE
    • For example, to run an image anything in a container autobike:
      • docker run -it --rm --mount source=autobike,destination=/autobike anything
  • To create a new container:
    • docker create [OPTIONS] IMAGE [COMMAND] [ARG...]
  • To name a docker image:
    • docker tag SOURCE_IMAGE[:TAG] TARGET_IMAGE[:TAG]
  • To see your docker images:
    • docker image list
  • To see docker volumes:
    • docker volume list
  • To delete a docker image list:
    • docker image rm [OPTIONS] IMAGE [IMAGE...]

When using a container, remember to store the code inside the folder of the container so that changes will be saved.

Vision’s Current Used Dockerfile (as of 12/12/20)

FROM ros:noetic

# install ros package
RUN apt-get update && apt-get install -y \
	vim\
	ros-noetic-ros-tutorials\
	git &&\
	rm -rf /var/lib/apt/lists/*
CMD ["/bin/bash"]