Difference between revisions of "Docker"

From Bike Wiki
Jump to navigation Jump to search
(Docker on Linux)
(Setting Up Docker Environment)
 
(One intermediate revision by the same user not shown)
Line 24: Line 24:
 
===Docker on Mac===
 
===Docker on Mac===
 
Pretty straightforward installation. There is a tutorial you can follow after installation.
 
Pretty straightforward installation. There is a tutorial you can follow after installation.
 +
 +
===Setting Up Docker Environment===
 +
Once docker has been installed the first thing that you need to do is create a docker image.  Docker images act as isolated, replicable instances of a software stack that can be used on any computer that has docker installed.  In order to create a docker image you first need to create a Dockerfile.  A Dockerfile is a script that contains all the commands require to build an image from scratch.
 +
 +
*First, create and navigate to a folder to create the Dockerfile:
 +
**<code>mkdir docker</code>
 +
**<code>cd docker</code>
 +
 +
*Next, create a Dockerfile
 +
**<code>touch Dockerfile</code>
 +
 +
*Now, edit the Dockerfile how you see fit to create the enviornment that is best for whatever purpose you need to achieve.
 +
 +
*Once that is all done build the Dockerfile
 +
**<code>docker build</code>
 +
 +
*Congratulations, you have built your first docker image!
  
 
===Commands===
 
===Commands===

Latest revision as of 16:51, 22 December 2020

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 (on most distros):
    • 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.

Setting Up Docker Environment

Once docker has been installed the first thing that you need to do is create a docker image. Docker images act as isolated, replicable instances of a software stack that can be used on any computer that has docker installed. In order to create a docker image you first need to create a Dockerfile. A Dockerfile is a script that contains all the commands require to build an image from scratch.

  • First, create and navigate to a folder to create the Dockerfile:
    • mkdir docker
    • cd docker
  • Next, create a Dockerfile
    • touch Dockerfile
  • Now, edit the Dockerfile how you see fit to create the enviornment that is best for whatever purpose you need to achieve.
  • Once that is all done build the Dockerfile
    • docker build
  • Congratulations, you have built your first docker image!

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"]