Docker

From Athenaeum
Jump to: navigation, search


Random

Erase a container's logs:
truncate -s 0 /var/lib/docker/containers/$id/$id-json.log

Docker Install

  1. curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
  2. echo "deb [arch=amd64] https://download.docker.com/linux/ubuntu xenial stable" > /etc/apt/sources.list.d/docker.list
  3. aptitude update
  4. For Kubernetes: aptitude install docker-ce=17.03.2~ce-0~ubuntu-xenial    or    For latest stable: aptitude install docker-ce=$(apt-cache show docker-ce | grep Version | grep -i $(curl -s https://api.github.com/repos/docker/docker-ce/releases/latest | jq -r ".name") | cut -d " " -f 2-3 | head -1)
  5. aptitude hold docker-ce
  6. usermod -a -G docker $USER

Networking

To create a custom docker network on a host and avoid using --link:

docker network create --driver bridge testnet01

Defense of Baseimage

  • Under certain circumstances when launching a container with -it the main application will not run. You must then execute the command manually. This does not happen with baseimage because of my_init.
  • Many containers are missing basic diagnostic functionality like procps which provides the 'ps' command. This is instrumental in diagnosing whether an application is running correctly since docker does not rely on startup scripts.