Run Airship Launcher with Docker 🐳

AirshipCMS provides an easy way for developers using Docker to work on an AirshipCMS site.

View the Docker image details in the Docker.io registry: https://hub.docker.com/r/airshipcms/launcher.

The Airship command line tools ("Airship Launcher") provide developers a way to login and sync files between your local development environment and the Airship server. Airship Launcher also includes a local development server.

The following Docker host operating systems are supported:

  • OSX
  • Linux
  • Windows (Docker Desktop Version 3.3.0 or greater)
  • WSL2 (Windows Subsystem Linux)

Running the Docker container

It is important to run the Airship Launcher docker container from your airship project directory.
If you don't have a project directory yet, create an empty directory and navigate to it in your terminal.

OSX

Navigate to your project directory

cd ~/Projects/my-airship-project

Use this command in your airship project directory when using OSX.

Run Airship Launcher with docker

docker run --rm -it \
  -v $PWD:/srv \
  -v ~/.airship-sessions:/home/.airship-sessions \
  -p 9800-9828:9800-9828 \
  -p 9001:9001 \
  airshipcms/launcher
Copied!

Linux

Navigate to your project directory

cd ~/Projects/my-airship-project

Use this command in your airship project directory when using Linux.

Run Airship Launcher with docker

docker run --rm -it \
  -v $PWD:/srv \
  -v ~/.airship-sessions:/home/.airship-sessions \
  -p 9800-9828:9800-9828 \
  -p 9001:9001 \
  airshipcms/launcher
Copied!

WSL (Windows Subsystem Linux 2)

Navigate to your project directory

cd ~/Projects/my-airship-project

Use this command in your airship project directory when using WSL.

Run Airship Launcher with docker

docker run --rm -it \
  -v $PWD:/srv \
  -v ~/.airship-sessions:/home/.airship-sessions \
  -p 9800-9828:9800-9828 \
  -p 9001:9001 \
  airshipcms/launcher
Copied!

Windows - PowerShell

Navigate to your project directory

cd Projects\my-airship-project

Use this command in your airship project directory when using Windows and PowerShell.

Run Airship Launcher with docker

docker run --rm -it `
  -v "$($PWD):/srv" `
  -v "$($PWD)\.airship-sessions:/home/.airship-sessions" `
  -p 9800-9828:9800-9828 `
  -p 9001:9001 `
  airshipcms/launcher
Copied!

Windows - Command Shell (cmd)

Navigate to your project directory

cd Projects\my-airship-project

Use this command in your airship project directory when using Windows and CMD.

Run Airship Launcher with docker

docker run --rm -it ^
  -v %cd%:/srv ^
  -v %cd%/.airship-sessions:/home/.airship-sessions ^
  -p 9800-9828:9800-9828 ^
  -p 9001:9001 ^
  airshipcms/launcher
Copied!

A detailed explanation of this command is available at github.com/AirshipCMS/Launcher#explanation


Using Airship Launcher in Docker

After executing the docker run command from the previous step, you should be in an interactive terminal in the running docker container.

The terminal prompt will look like this [🐳 Airship Launcher] $ when you are in the runinng docker container. This means that you can run all the airship commands. If you want to run other commands, such as git, open a new terminal session that is not using tho Airship Launcher docker container.

Interactive Airship Launcher Docker container session

Login to Airship CMS

In the Airship Launcher docker container, use airship login [subdomain] to authenticate with Airship CMS.

Logging in with the Airship Launcher Docker container

Start the Airship Server

In the Airship Launcher docker container, use airship serve to start a local server. While it's running, you can connect to it with your browser by navigating to http://localhost:9001

Logging in with the Airship Launcher Docker container

To stop the server in the running docker container, send the interrupt signal (SIGINT) by pressing CTRL + C. This will kill the listening process started by airship serve.

Exiting the Airship Launcher

To exit from the interactive Airship Launcher terminal in the running docker container, send the EOF by pressing CTRL + D or execute the command exit. This will exit the docker container and clean itself up. You may run the docker run command from the previous step again, to pick up where you left off.

Exiting the Airship Launcher Docker container


Additional Resources

For more on airship commands check out Airship CLI Commands in the AirshipCMS Documentation. For a guided tutorial on using Airship CMS check out the Get Started Guide


Troubleshooting


Git Bash

If you run Docker with Git Bash and see an error similar to this:

the input device is not a TTY.  If you are using mintty, try prefixing the command with 'winpty'

You can fix this issue by prefixing the command with winpty

winpty docker run --rm -it \
  -v $PWD:/srv \
  -v ~/.airship-sessions:/home/.airship-sessions \
  -p 9800-9828:9800-9828 \
  -p 9001:9001 \
  airshipcms/launcher

File Sharing in Hyper-V Mode

If you run Docker Desktop with Hyper-V mode and see an error similar to this:

docker: Error response from daemon: status code not OK but 500:
  FDocker.Core, Version=3.4.0.64130, Culture=neutral, PublicKeyToken=null  ocker.Core.DockerException    ClassNameMessageDataInnerExceptionHelpURLStacWatsonBuckets  System.Collections.IDictionarySystem.Excepti     ocker.Core.DockerException
  Filesharing has been cancelled

You can fix this issue by enabling file sharing in Docker Desktop settings.

Add your project folders that you want to use with Airship CMS, and add the .airship-sessions directory that is in your home folder.

Add shared folders to Docker Desktop file sharing settings

The File sharing tab is only available in Hyper-V mode, because in WSL 2 mode and Windows container mode all files are automatically shared by Windows.

More information is available here https://docs.docker.com/docker-for-windows/#file-sharing.


Getting Support

If you are running into any other issues, you can reach out to support@airshipcms.io

Airship Web Deployment Platform

Command Line Tools

Fast Deployment

Fully-Hosted Files & Assets

Simple, Secure Content Management

No credit card required. Free during development. Pay only when you want to use your own domain name.