Howto:Docker scenery toolchain: Difference between revisions

From FlightGear wiki
Jump to navigation Jump to search
(→‎Docker scenery toolchain image: Shifted the volume or shared directory instructions into its own subsection and minor editing and wiki formatting of the test. The non-mounted file copy instruction has hence been undeleted.)
Line 35: Line 35:
docker container exec -i -t <container_name> /bin/bash  # Run a bash shell, and connect to it.
docker container exec -i -t <container_name> /bin/bash  # Run a bash shell, and connect to it.
</syntaxhighlight>
</syntaxhighlight>


Now, when you exit, the container will continue running
Now, when you exit, the container will continue running

Revision as of 11:49, 8 June 2018

This article is a stub. You can help the wiki by expanding it.

Docker setup

Firstly, download Docker for your computer. Then check it's working

docker --version  
docker info
docker run hello-world  # Run a demo container
docker container ls -a  # List all the containers, their names and status.  Note that the hello-world is shown as "Exited"

Docker scenery toolchain image

Now retrieve the terragear toolchain image.

docker pull flightgear/terragear
docker images

You can now instantiate containers based on this image. The following command will create a container and then run an interactive bash shell on it.

docker run -i -t flightgear/terragear /bin/bash

When you exit from the bash shell, the container will be stopped. Use the following commands to list all the containers, start the container up, and execute an interactive bash shell on it.

docker container ls -a    # List all containers, even those stopped
docker container start <container_name>   # Start and existing container
docker container cp <source_file> <container_name>:<destination> # Copy a file into the cotnainer
docker container exec -i -t <container_name> /bin/bash   # Run a bash shell, and connect to it.

Now, when you exit, the container will continue running

Mounting a volume or shared directory

To mount a volume or shared directory, use:

docker run -i -t flightgear/terragear /bin/bash -v <host directory>:<docker directory>

where <host directory> is the directory on your computer that's mounted into the container and <docker directory> is the directory where the computers directory is mounted in. Then to copy files into the docker container, simply move them into the <host directory> on the host operating system and you'll find them in the <docker directory> in the docker container.