From cd2596c06dc06b0132c2641f156ece5d400a0bfc Mon Sep 17 00:00:00 2001 From: Mate Farkas <mate.farkas@sch.hu> Date: Mon, 7 Aug 2017 14:34:31 +0100 Subject: [PATCH] Quickstart guide has been added. --- README.md | 4 ++ quickstart.md | 106 ++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 110 insertions(+) create mode 100644 quickstart.md diff --git a/README.md b/README.md index b0ab237..868fbc7 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,9 @@ # Ready to use Docker containers and Vagrant templates +If you need some help on how to start, read the [quickstart][] guide. + +[quickstart]: ./quickstart.md + ## Build Docker containers cd docker/xenial/base/ diff --git a/quickstart.md b/quickstart.md new file mode 100644 index 0000000..6910ff7 --- /dev/null +++ b/quickstart.md @@ -0,0 +1,106 @@ +# Quickstart + +This guide is was made to help you to start using this repository. It's only showing the steps to build and run a Ubuntu 16.04 LTS (Xenial) base image, other images in this repository might depend on this or a different base image. You need to build base images first to be able to build derived images. + +## Install Docker and Vagrant + +To install Docker and Vagrant, type the commands in a terminal emulator. The links are here if you want to read about these tools - recommended, but optional. + +- https://www.docker.com/ +- https://www.vagrantup.com/ + +### Linux + +Install the packages and start the services. The package names and the configuration differ a bit by distribution, but here's a few tips: + +- Make sure you're in the *docker* group +- Make sure the docker service is running +- `docker ps` should exit without an error + +#### Ubuntu + + sudo apt-get install make docker.io vagrant + sudo usermod --append --groups docker <username> + sudo service docker start + +#### OPTIONAL configuration + +My personal recommendation is not to use AuFS - the default storage driver. You can read the details [here][storage_drivers]. + +Devicemapper is a simple alternative if you're already using and comfortable with LVM. + +Add the following into `/etc/docker/daemon.json`: + + { + "storage-driver": "devicemapper" + } + +Restart the docker service. + +[storage_drivers]: https://docs.docker.com/engine/userguide/storagedriver/selectadriver/ + +### macOS / OS X + +1. Install Homebrew + + https://brew.sh/ + + /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" + +2. Install Cask + + https://caskroom.github.io/ + + brew tap caskroom/cask + +3. Install Docker + + brew cask install docker + +4. Start Docker + + *Start it from the Launchpad.* + +5. Install Vagrant + + brew cask install vagrant + +## Build a base image and start a container + +1. Clone this git repo if you haven't already + + git clone https://github.com/farkasmate/vm.git + +2. Build a base image + + cd vm/docker/xenial/base + make + + To run a quick test you can run: + + make test + + If everything went according to the plan you will find yourself in the container's shell with a shell like: `root@77a40185ed64:/# ` + + Exit the shell by typing `exit`. + +3. Start a container with Vagrant + + If you're still in the `vm/docker/xenial/base` directory, type: + + cd ../../.. + + Copy the template Vagrantfile. + + cd vagrant + cp -a TEMPLATE xenial-base + + Create and start the container. + + cd xenial-base + vagrant up + + SSH into the container. + + vagrant ssh + -- GitLab