Skip to content

Instantly share code, notes, and snippets.

All Day Containers!

Bret Fisher BretFisher

All Day Containers!
View GitHub Profile
BretFisher /
Last active Aug 21, 2021
Getting a Shell in the Docker for Windows Moby VM

2018 Update: Easiest option is Justin's repo and image

Just run this from your CLI and it'll drop you in a container with full permissions on the Moby VM. Only works for Moby Linux VM (doesn't work for Windows Containers). Note this also works on Docker for Mac.

docker run -it --rm --privileged --pid=host justincormack/nsenter1

more info:

BretFisher /
Last active Aug 11, 2021
On macOS: Install pygmentize and alias pcat for shell code syntax highlighting
# first install pygmentize to the mac OS X or macOS system with the built-in python
sudo easy_install Pygments
# then add alias to your ~/.bash_profile or ~/.bashrc or ~/.zshrc etc.
alias pcat='pygmentize -f terminal256 -O style=native -g'
BretFisher /
Last active Jul 22, 2021
docker swarm upgrade

Replace your Swarm Manager and Workers with updated versions of docker

  • it's best to replace nodes, don't do apt/yum upgrades.
  • both would work, but VM replacment forces me to think of it as immutable and prevents making pets
  • if you don't want to update join scripts for manager IP's, then do something like Elastic IP's so manager IP's won't change.

Lets assume you have 3 managers and 3 workers on 17.06 and you want to update to 17.12

  • managers: m1, m2, m3
BretFisher /
Last active Jun 14, 2021
Simple Apache + Nginx Reverse Proxy Example in Docker Compose
  1. download these two files to the same directory
  2. docker-compose up
  3. http://localhost should show you "it works" which is apache being reverse-proxied through nginx
  4. docker sets up DNS for web based on compose service name so the nginx front-end can find http://web
  5. proxy is set to listen on public port 80 on host so it'll receive incoming traffic, then push to httpd
BretFisher / present.zsh-theme
Last active Mar 24, 2021
oh-my-zsh theme for presentations (hides prompt features based on path)
View present.zsh-theme
# problem: when presenting, I want to obscure
# my prompt to act like it's at root of file system
# and be very basic with no git info, etc.
# solution: this theme lets you set a ENV to the path
# of your presentation, which will help remove unneeded prompt
# features while in that path
# oh-my-zsh theme for presenting demos
# based off the default rubbyrussell theme
BretFisher / repair-windows-update.bat
Last active Mar 17, 2021
Reset Windows Update components RE: KB971058
View repair-windows-update.bat
@echo off
REM Automation of Steps to Reset Windows Updates
REM Tested on Server 2012 R2, likely works on everything Win7/2008R2 and up
REM by Bret Fisher
REM also find this info and more in a blog article at
REM Origional Steps (identical to this):
REM This file Copyright MIT License
REM Stop Services
BretFisher / .tmux.conf
Created Feb 25, 2017
My ugly tmux config, much copied from others and tweaked
View .tmux.conf
# tmux config for ultimate winning
# make tmux display things in 256 colors
#set -g default-terminal "screen-256color"
# use this if italic enabled in term profile
set -g default-terminal "tmux-256color"
# set just true color without custom term
#set -ga terminal-overrides ",xterm-256color:Tc"
# fixes bug:
#set -ga terminal-overrides ',xterm*:sitm=\E[3m'
BretFisher / .zshrc
Created Jul 4, 2018
my custom oh-my-zsh setup
View .zshrc
# this assumes your using oh-my-zsh for maximum zsh-ness
# info and defaults are here:
export LC_ALL="en_US.UTF-8"
export ZSH=/Users/bret/.oh-my-zsh
# custom prompt theme
ZSH_THEME="present" # mine is present, default is robbyrussell, also agnoster, fishy, ys, wild-cherry
BretFisher /
Last active Aug 13, 2020
quickly make a local tls cert
#!/usr/bin/env bash
set -euo pipefail
openssl req \
-newkey rsa:2048 \
-x509 \
-nodes \
BretFisher / gruvbox-light.js
Last active May 17, 2020 — forked from anhari/gist:23ae031e93e2f465258439cb6802acad
gruvbox *light* blink shell theme
View gruvbox-light.js
black = '#fbf1c7';
red = '#cc241d'; // red
green = '#98971a'; // green
yellow = '#d79921'; // yellow
blue = '#458588'; // blue
magenta = '#b16286'; // pink
cyan = '#689d6a'; // cyan
white = '#7c6f64'; // light gray
lightBlack = '#928374'; // medium gray
lightRed = '#9d0006'; // red