CF Swarm: End-to-End Coldfusion Pipeline with Cont
  • Preface: Who Is This Guide For?
  • About the Author & License
  • Part 1: What Containers Mean To Web Applications (and You)
  • Part 2: Before You Begin
  • Part 3: Docker in Development
    • Installing Docker: Initial Setup
    • Running Docker: Clone a Working Development Stack
    • docker-compose.yml: A Closer Look
    • nginx.conf: Reverse Proxy to a CF Engine
  • Part 4: Building Images and Container Registries
    • Our First Image: A Sample Build Environment
  • Part 5: Choosing a Cloud Infrastructure Provider
  • Part 6: The Production Network Layout (How Many Instances and What Kind)
    • Your First Instance: Provisioning
    • Your First Instance: Basic Configuration & Security
    • Your First Instance: (Optional) Provider-Level Firewall
    • Your First Instance: Taking A Snapshot
  • Part 7: Production Setup (Outside the Swarm)
    • Pipeline Setup: Instance Prep
    • Pipeline Setup: VPN Server
    • Pipeline Setup: Source Control & Container Registry
    • Pipeline Setup: Database Prep
      • Pipeline Setup: MySQL
    • Pipeline Setup: Microsoft SQL Server
    • Pipeline Setup: Provider Firewall
  • Part 8: Production Setup (The Swarm)
    • Container Strategy
  • Credits & Acknowledgments
Powered by GitBook
On this page
  • The Prize: Turnkey Development Environment
  • Managing Docker: CLI vs. GUI

Part 3: Docker in Development

PreviousPart 2: Before You BeginNextInstalling Docker: Initial Setup

Last updated 7 years ago

The Prize: Turnkey Development Environment

In this section, we'll install Docker, configure resource limits, and work with a Docker Compose file to configure containers for a database, a front-end web server, our Coldfusion application server, and (optionally) a dedicated cache. By the end of this section, you should have a Docker environment ready to be deployed on any development machine, and that environment will look something like this:

Managing Docker: CLI vs. GUI

When I started learning Docker in late 2017, ours had long been a Windows shop and hadn't really dealt with administration via CLI since I'd had to care for Linux machines in 2001. At first, it was intimidating to not only have to deal with Docker's CLI, but also think about CF and application deployments under Linux. I was eager to try , the popular GUI managemnet tool for Docker and Docker Swarm, and we're going to spend a lot of time on Portainer for our Production stack -- but for our development environment, we'll want to familiarize ourselves with enough of the CLI that we can navigate it when the situation arises. As of the Fall of 2018, Portainer is sufficiently feature-complete that this won't be very often, but it also won't be never. It's just a good idea to understand what your GUI is doing "under the hood," and this guide only covers the essentials. Portainer also won't help you very much with building your own Docker images.

Portainer
Figure 3.1: Local Development Topology