add D-in-D dockerfile, update Readme

This commit is contained in:
Robert Starmer
2023-03-14 14:14:02 -07:00
parent 3026a92c98
commit 5b506a2daa
2 changed files with 47 additions and 2 deletions

View File

@@ -6,7 +6,19 @@ Watch the screencast: https://www.youtube.com/watch?v=LL1cV2FXZ5I
## Installation
Install MRSK globally with `gem install mrsk`. Then, inside your app directory, run `mrsk init` (or `mrsk init --bundle` within Rails apps where you want a bin/mrsk binstub). Now edit the new file `config/deploy.yml`. It could look as simple as this:
Install MRSK globally with `gem install mrsk` or build a dockerized version:
```sh
docker build . -t mrsk:dind -t mrsk:latest -f Dockerfile.dind
```
If you build the docker version, add the following alias to your .${SHELL}rc file and re-source the rc file to allow ssh and docker to work within the container:
```sh
alias mrsk='docker run --rm -it -v $HOME/.ssh:/root/.ssh -v /var/run/docker.sock:/var/run/docker.sock -v ${PWD}/:/workdir mrsk'
```
Then, inside your app directory, run `mrsk init` (or `mrsk init --bundle` within Rails apps where you want a bin/mrsk binstub). Now edit the new file `config/deploy.yml`. It could look as simple as this:
```yaml
service: hey
@@ -34,7 +46,7 @@ mrsk deploy
This will:
1. Connect to the servers over SSH (using root by default, authenticated by your ssh key)
2. Install Docker on any server that might be missing it (using apt-get)
2. Install Docker on any server that might be missing it (using apt-get): root access is needed via ssh for this.
3. Log into the registry both locally and remotely
4. Build the image using the standard Dockerfile in the root of the application.
5. Push the image to the registry.