Difference between revisions of "Docker"
(→Docker) |
(→Setting Up Docker Environment) |
||
(15 intermediate revisions by 3 users not shown) | |||
Line 7: | Line 7: | ||
===Docker on Linux=== | ===Docker on Linux=== | ||
*To install: | *To install: | ||
− | **For Ubuntu: | + | **For Ubuntu: |
− | <code> sudo apt-get install docker </code> | + | ***<code> sudo apt-get install docker </code> |
− | **For Red Hat: | + | **For Red Hat: |
− | <code> sudo yum install docker </code> | + | ***<code> sudo yum install docker </code> |
**For Fedora: | **For Fedora: | ||
− | <code> sudo dnf install docker -y </code> | + | ***<code> sudo dnf install docker -y </code> |
**For Arch: | **For Arch: | ||
− | <code> sudo pacman -S docker </code> | + | ***<code> sudo pacman -S docker </code> |
− | *Starting the docker daemon: | + | *Starting the docker daemon (on most distros): |
− | <code> sudo systemctl enable docker.service | + | **<code> sudo systemctl enable docker.service </code> |
===Docker With Pain (Windows)=== | ===Docker With Pain (Windows)=== | ||
Use the “edge” version or else it won’t like the windows version | 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: | ||
+ | **<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=== | ||
− | * To run a docker image in a container/volume: | + | *To run a docker image in a container/volume: |
− | <code> docker run -it --rm --mount source=SOURCE,destination=/DESTINATION IMAGE</code> | + | **<code>docker run -it --rm --mount source=SOURCE,destination=/DESTINATION IMAGE</code> |
+ | |||
+ | **For example, to run an image <code>anything</code> in a container <code>autobike</code>: | ||
+ | ***<code>docker run -it --rm --mount source=autobike,destination=/autobike anything</code> | ||
− | * | + | *To create a new container: |
− | <code> docker | + | **<code>docker create [OPTIONS] IMAGE [COMMAND] [ARG...]</code> |
− | * To | + | *To name a docker image: |
− | <code> docker | + | **<code>docker tag SOURCE_IMAGE[:TAG] TARGET_IMAGE[:TAG]</code> |
− | * To | + | *To see your docker images: |
− | <code> docker | + | **<code>docker image list</code> |
− | * To see | + | *To see docker volumes: |
− | <code> docker | + | **<code>docker volume list</code> |
− | * To | + | *To delete a docker image list: |
− | <code> docker | + | **<code>docker image rm [OPTIONS] IMAGE [IMAGE...]</code> |
When using a container, remember to store the code inside the folder of the container so that changes will be saved. | 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)=== | ===Vision’s Current Used Dockerfile (as of 12/12/20)=== | ||
− | < | + | <syntaxhighlight lang="OCaml"> |
FROM ros:noetic | FROM ros:noetic | ||
Line 55: | Line 77: | ||
rm -rf /var/lib/apt/lists/* | rm -rf /var/lib/apt/lists/* | ||
CMD ["/bin/bash"] | CMD ["/bin/bash"] | ||
− | </ | + | </syntaxhighlight> |
Latest revision as of 16:51, 22 December 2020
Contents
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
- For Ubuntu:
- 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 containerautobike
:docker run -it --rm --mount source=autobike,destination=/autobike anything
- For example, to run an image
- 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"]