-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathmydocs.pd
127 lines (97 loc) · 6.5 KB
/
mydocs.pd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
# Introduction {: .page-title}
## Introduction {: .page-title}
---
title: "Introduction"
chapter: true
weight: 1
pre: "<b>1. </b>"
---
## Introduction
Thank you for taking the time to read through this training. This training is designed to make Docksal and container-based development more accessible to more people through examples, real world scenarios, and figuring out answers to the tough questions along the way.
So, what are we waiting for? Let's do this!
{{% children %}}
## About {: .page-title}
---
title: "About This Training"
weight: 1
---
### Introduction
This training is designed based on the [Docksal Docs](https://docs.docksal.io) with examples and scenarios for using Docksal for local development. This is a hands on training workshop broken down into the following schedule.
* DOCKER OVERVIEW
* Docker Basics
* A high-level overview of Docker, how Docker works, and the main components of Docker.
* Why Containerize?
* What are the advantages of using containers for development vs local *AMP stacks?
* Why Use More Than Just Docker?
* Why should we consider using something more than just Docker to containerize? What are the advantages to using something like Docksal to wrap up all of our Docker functionality? In this section we'll go over how using a dev environment like Docksal makes development easier and faster compared to vanilla Docker.
* INTRO TO DOCKSAL
* What's a Docksal?
* Where did it come from? Was it handed to us by aliens in hopes that it would change the world one local dev environment at a time? Nope, but we will cover where Docksal came from and what differences there are between Docksal and some of the other containerized dev environments out there.
* Docksal Stacks
* Let's take a look at what a stack is and why we have them.
* Docksal System and Default Services
* We're going to explore some of the services that come with Docksal and where they're used.
* Boilerplates and Starterkits
* It's not just for Drupal! Let's explore a few of the available boilerplate projects that are in the Docksal Github Repo
* What's in the Container?
* We're going to explore some of the tools that are included with Docksal straight out of the box. Many should feel very familiar.
* GETTING STARTED
* Installing Docksal
* Your First "fin"
* Let's make sure everything is installed correctly and that you're able to get Docksal running and see the the system information.
* Starting a new project
* We're going to use `fin` to spin up a boilerplate project and see what happens.
* Spinning up a Drupal Site
* We're going to spin up a basic Drupal 8 site using the Docksal Drupal 8 boilerplate and take a look at some of the things that Docksal needs to run within a Drupal codebase.
* Customization
* How to alter settings and configuration to make our system work how we want it to work.
* Keep it Local
* Not all settings need to make it into your repo. In fact, it's better if some don't so that you don't accidentally push an API key into a public repo. We're going to find out how to make sure we keep private stuff on our local environment only.
* Adding Docksal to an Existing Project
* Let's take an existing project that we've been working on and add Docksal to it to mimic our hosting environment.
* Addons, Addons, Addons
* Using addons to make your life easier. We'll explore some of the available addons, what they do, and how to install them.
* GOING FURTHER
* Customizing Your Environment
* When a stack only gets you 90% of the way there, you might need just a little more to get you the rest of the way. We'll explore some options for making customizations and tweaking existing services to do what you need them to do.
* Creating Your Own Services
* Customizing just not doing it for you? Let's build a service to help you make sure your environment is exactly what you need it to be.
* Adding Docksal to an Existing Project
* We'll cover how to take a current Drupal project and wrap it up in a nice, warm Docksal blanket by pulling a codebase, installing a site, and importing a database.
* Docksal: It's Not Just for Local Anymore
* Let's explore some other uses for Docksal that aren't your local machine. Docksal can be used for CI builds and sandbox environments.
* Q & A AND TROUBLESHOOTING
* Towards the end of the day we'll open up the conversation and see if there are any unanswered questions or issues that are preventing you from using Docksal in your everyday life.
## Prereqs {: .page-title}
---
title: "Prerequisites"
weight: 1
---
### Before we begin...
While this training is designed for all skill levels, here are a few things that will help you have the most success.
* A basic understanding of programming concepts
* An understanding of using the command line
* Having VirtualBox, Docker for Mac, or Docker for Windows installed on your machine prior to training (macOS and Windows users)
* Having Docker installed on your machine prior to training (Linux users)
* A Github account
Also, this training is written from the standpoint of a Linux and macOS user. Many commands should be similar on the Windows version of Docker, however, it should be said that I'm not an expert in Windows and won't be able to offer much in the way of debugging in this training.
# Intro to Docker {: .page-title}
## Overview {: .page-title}
---
title: "What is Docker?"
weight: 1
---
### High level overview
![Docker Logo](/images/docker.jpg)
#### Linux containers
aaa
Docker is an Open Source project based on the concept of Linux containers. What does this mean? At a high-level, this means that Docker runs on top of a host machine's operating system kernel. A Linux container is a packaged application that includes everything it needs to run. Since the application is contained within its own container, the application is extremely portable and easily testable. The portability and testability of Linux containers make them extremely useful and valuable to developers and devops specialists alike.
#### But, what's a Docker?
Docker provides an environment and workflow for Linux containers. Think of it as a container tummler, or a system for containers that makes things happen. It accommodates the containers, creates a welcoming environment for them, keeps them working in sync, and prevents them from running rampant across your system.
Docker is available for multiple systems and architectures, including:
* macOS
* Windows
* Many Linux distributions
* AWS
* Google Cloud
* Others not listed