Skip to content

A docker container for building LSDTopoTools documentation

License

Notifications You must be signed in to change notification settings

LSDtopotools/lsdtt_docs_docker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

The LSDTopoTools documentation container

This docker container is for building the LSDTopoTools documentation. Only use it if you are actually going to update the documentation. If you just want to read the documentation, go to the documentation website.

Instructions

Installing Docker

These are the bare bones instructions. For a bit more detail and potential bug fixes, scroll down to the section on Docker notes.

  1. Download and install Docker for Windows (only works with Windows 10 enterprise), Docker for Mac, or Docker for Ubuntu or Debian.
  • On MacOS we recommend installing docker using brew: brew cask install docker
  • On MacOs and Linux, after you install docker you will need to add permissions: sudo usermod -a -G docker $USER
  • On Windows 10 you will need to alter a bunch of settings. See [DNSection][Docker notes]
  1. We will henceforth assume that you actually have a functioning version of Docker on your host machine. If you want more details about how to use docker, or getting it set up (particularly in Windows, in Linux and MacOS this is more straightforward), see our Docker notes.

Running the container

Part 1: set up an LSDTopoTools directory on your host machine

  1. You will want to be able to see LSDTopoTools output on your host operating system, so we will need to create a directory for hosting your LSDTopoTools data, code, and scripts.
  2. For the purposes of this tutorial, I will assume you are using windows and that you have made a directory C:\LSDTopoTools.
  • You can put this directory anywhere you want as long as you remember where it is. You don't need to put anything in this directory yet.

Part 2: Download and run the container

  1. To get the container, go into a terminal (MacOS or Linux) or Powershell window (Windows) that has docker enabled and run:
$ docker pull lsdtopotools/lsdtt_docs_docker
  1. Now you need to run the container:
$ docker run -it -v C:\LSDTopoTools\LSDTT_documentation:/documents lsdtopotools/lsdtt_docs_docker
  1. The -it means "interactive".
  2. The -v stands for "volume" and in practice it links the files in the docker container with files in your host operating system.
  3. After the -v you need to tell docker where the directories are on both the host operating system (in this case C:\LSDTopoTools\LSDTT_documentation) and the container (in this case /documents). Note that the work directory for the documentation is in a directory called documents and not LSDTopoTools. The two directories are separated by a colon (:).
  4. Once you do this you will get a # symbol showing that you are inside the container.
  5. To exit the container use ctrl-D. The containers all have linux environments so you will be able to use linux command line tools within the docker container.

Part 3: Getting the documentation repository

  1. You don't actually have any of the files in the docker container. You need to clone them.
  2. If you are in your docker container, go somewhere you want to put the files and do this:
# git clone https://github.com/LSDtopotools/LSDTT_documentation.git master
  1. This clones into a "master" directory.
  2. You can also clone on your host operating system but if you don't have git, the container does have it.

Part 3b: Fixing stupid problems

  1. It seems the rub gems installation causes some incompatibilities. So you need to do the following:
  2. Go into the LSDTT_python_tools directory (you may have to first go into a master directory if you have followed the recommended file structure).
  3. Run # bundle install
  4. Go back into thge main directory.

Part 4: Building the documentation

  1. Your docker container needs to be running. You should use git pull origin master to get the latest version of the documentation. To do this you will have needed to clone the repository (see part 3).
  2. Go into the directory with the documentation.
  3. Run the python script:
$ python compile_LSDTTDocs.py
  1. The documentation should be built in a directory called html_build.

Docker notes

If you want to know all about Docker, make sure to read the docker documentation. A note of warning: Docker documentation is similar to documentation for the turbo encabulator. Below are some brief notes to help you with the essentials.

Docker quick reference


Here are some shortcuts if you just need a reminder of how docker works.

List all containers

$ docker ps -a

List containers with size

$ docker ps -as

Remove all unused containers

$ docker system prune

Docker on Linux

After you install docker on Linux, you will need to add users to the docker permissions:

$ sudo usermod -a -G docker $USER

Once you have done this you will need to log out and log back in again.

Docker for Windows

I have not made any scientific study of this but most LSDTopoTools users are on Windows operating systems.

Firstly, you need to have Windows 10 Enterprise. It will not work otherwise (well, that is not exactly true but getting it to work on Windows 7 is a massive pain). If you don't have Windows 10 Enterprise but are on Windows you probably should use Vagrant; see our vagrant documentation. If you do have Windows 10 enterprise then you can download and install Docker for Windows CE. After you install this you will need to restart your computer not once but twice: once after install and a second time to activate the hyper-V feature, which allows you to have 64 bit guest operating systems.

Second, if you have that and have it installed, you might also need to add yourself to the docker-users group. To do that, do this (instructions from here: docker/for-win#868):

  1. Logon to Windows as Administrator
  2. Go to Windows Administrator Tools
  3. Look for Windows Computer Management and click on it.
  4. Or you can skip steps 1-3, right mouse clicking Computer Management, go to more, and select run as administrator and provide Administrator password.
  5. Double click docker-users group and add your account as member.
  6. Also add your account to Hyper-V Administrator. This was added when you installed docker for Windows.
  7. Log off from Windows and log back on.
  8. Click on Windows icon on bottom left and start Docker for Windows. This will start docker windows service.
  9. Start Windows Powershell and type docker --version. It will show Docker version 17.09.1-ce, build 19e2cf6, or whatever version you have.

About

A docker container for building LSDTopoTools documentation

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published