Docker

最後編輯:2014-05-30 建立:2014-05-30 歷史紀錄

 

    陳幸延安裝

陳幸延Debian

  • # sh -c "echo deb http://get.docker.io/ubuntu docker main > /etc/apt/sources.list.d/docker.list"
  • # apt-get update
  • # apt-get install lxc-docker

 

Docker on i386

Building Docker from source on the Raspberry Pi | Byte Outa Life

 

    陳幸延指令

  • 陳幸延# docker run tianon/debian uname -a
  • # docker run -i -t tianon/debian /bin/bash
    • -i interactive
    • -t like a terminal

 

  • # docker run -p 80:80 myweb /usr/sbin/apache2 -D
    • -p port 對應 host:guest

 

持久資料保存

  • # docker run -d -p 3306:3306 -v /data/mysql:/var/lib/mysql mysql
    • -v 指定 volume

 

 

Detach

  • [Ctrl]+p, [Ctrl]+q

 

Attach

  • # docker attach <container-id>

 

 

保存 docker 變動

  • # docker commit <container-id> <name>

 

 

檢視 docker 行程

  • # docker ps -a

 

結束 docker 行程

  • # docker kill <container-id>

 

刪除 docker container

  • # docker rm <dontainer-id>

 

刪除所有 docker container

  • # docker rm `docker ps -notrunc -a -q`
    • -q only show numeric IDs
    • -notrunc Don't truncate output

 

 

檢視 docker image

  • # docker images

 

刪除 docker image

  • # docker rmi <image>

 

 

備份

  • # docker export <container-id> > ubuntu.tar

 

還原

  • # cat ubuntu.tar | docker import - my-ubuntu

 

    陳幸延指令 - 小進階

陳幸延# docker inspect CONTAINER|IMAGE [CONTAINER|IMAGE...]

# docker inspect --format='{{.NetworkSettings.IPAddress}}' $INSTANCE_ID

 

# sudo docker commit -run='{"Cmd": ["cat", "/world"], "PortSpecs": ["22"]}'

    陳幸延Dockerfile

陳幸延$ vi Dockerfile

  • FROM ubuntu
  • RUN apt-get update
  • RUN apt-get insatll -y git-core
  • RUN git clone xxxx
  • CMD python bottle-sample/app.py

# docker build -t myimage .

Dockerfile tutorial

 

    陳幸延官方 build server

陳幸延auto build Docker images from Github

 

    陳幸延個人 dockerfile

陳幸延Carl

tsaikd

 

    陳幸延啓動設定

陳幸延預設 docker 路徑

  • # vi /etc/default/docker
  • DOCKER_OPTS="-g /var/lib/docker"

    陳幸延延伸連結

陳幸延progrium/dokku - Docker powered mini-Heroku in around 100 lines of Bash

Flynn - The product that ops provides to developers

Continuous Integration · drone.io

CD - Strider Brilliant Continuous Deployment

coreos/etcd - A highly-available key value store for shared configuration and service discovery

coreos/fleet - A Distributed init System

Slimming down Docker containers | Intercity Blog

Docker Registry or How to Run your own Private Docker Image Repository | codecentric Blogcodecentric Blog

Link via an Ambassador Container - Docker Documentation

Resin.io Presentation Slides from LNUG - Resin.io allows you to 'git push' to your hardware devices. We cross-compile your code in the cloud, turn it to a Docker container, and ship it!