Docker: Tips & Tricks
Dharmit Shah
@dharm1t
Who am I?
(Earlier)
@
@
Nice `docker ps` output
$ docker ps -a | less -S
Follow the logs
$ docker logs <containerid> -f
Stats for running container
$ docker stats <container-id> <container-id> … <container-id>
Copy files from host to container
$ docker cp /file/on/host <container-id>:/path/in/container
Fetch single value from docker
inspect
$ docker inspect --format '{{.State.Running}}' $(docker ps -lq)
$ docker inspect --format '{{.NetworkSettings.IPAddress}}' $(docker ps -lq)
docker exec instead of sshd or
nsenter
$ docker exec -it <container-id> /bin/bash
Old man staring at your mouse!
$ xhost local:root
$ docker run -d 
-e DISPLAY=$DISPLAY 
-v tmp/.X11-unix:/tmp/.X11-unix xeji
FROM debian:squeeze
RUN apt-get update && 
apt-get install -y xeji
RUN export uid=1000 gid=1000 && 
mkdir -p /home/developer && 
echo "developer:x:${uid}:${gid}:Developer,,,:/home/developer:/bin/bash" >>
/etc/passwd && 
echo "developer:x:${uid}:" >> /etc/group && 
echo "developer ALL=(ALL) NOPASSWD: ALL" > /etc/sudoers.d/developer && 
chmod 0440 /etc/sudoers.d/developer && 
chown ${uid}:${gid} -R /home/developer
USER developer
ENV HOME /home/developer
ENTRYPOINT ["/usr/bin/xeji"]

Docker tips & tricks

  • 1.
    Docker: Tips &Tricks Dharmit Shah @dharm1t
  • 2.
  • 3.
    Nice `docker ps`output $ docker ps -a | less -S
  • 4.
    Follow the logs $docker logs <containerid> -f
  • 5.
    Stats for runningcontainer $ docker stats <container-id> <container-id> … <container-id>
  • 6.
    Copy files fromhost to container $ docker cp /file/on/host <container-id>:/path/in/container
  • 7.
    Fetch single valuefrom docker inspect $ docker inspect --format '{{.State.Running}}' $(docker ps -lq) $ docker inspect --format '{{.NetworkSettings.IPAddress}}' $(docker ps -lq)
  • 8.
    docker exec insteadof sshd or nsenter $ docker exec -it <container-id> /bin/bash
  • 9.
    Old man staringat your mouse! $ xhost local:root $ docker run -d -e DISPLAY=$DISPLAY -v tmp/.X11-unix:/tmp/.X11-unix xeji
  • 11.
    FROM debian:squeeze RUN apt-getupdate && apt-get install -y xeji RUN export uid=1000 gid=1000 && mkdir -p /home/developer && echo "developer:x:${uid}:${gid}:Developer,,,:/home/developer:/bin/bash" >> /etc/passwd && echo "developer:x:${uid}:" >> /etc/group && echo "developer ALL=(ALL) NOPASSWD: ALL" > /etc/sudoers.d/developer && chmod 0440 /etc/sudoers.d/developer && chown ${uid}:${gid} -R /home/developer USER developer ENV HOME /home/developer ENTRYPOINT ["/usr/bin/xeji"]