0 環境:ubuntu 14.04
1 安裝
sudo apt-get update sudo apt-get install -y docker.io
啓動Docker後臺服務
sudo docker -d &
2 鏡像
2.1 下拉鏡像
sudo docker pull ubuntu sudo docker pull ubuntu:14.04
2.2 查看鏡像
sudo docker images
2.3 刪除鏡像
sudo docker rmi image
2.4 創建新鏡像
大致思路是運行一個container,進行修改後,然後提交爲一個鏡像。
提交
sudo docker commit -m 'add test' -a 'Docker Newbee' c2e11c9b294b ubuntu:test
3 容器
3.1 運行
sudo docker run -i -t ubuntu /bin/echo hello world
sudo docker run -i -t ubuntu /bin/bash
# 開啓一個非常有用的長時間工作進程 JOB=$(sudo docker run -d ubuntu/bin/sh -c "while true; do echo Hello world; sleep 1; done") # 到目前爲止的收集的輸出 sudo docker logs $JOB
3.2 查看
當前運行的容器
sudo docker ps
最近一個運行的容器
sudo docker ps -l
所有容器
sudo docker ps -a
3.3 停止容器
sudo docker stop container_id sudo docker kill container_id
stop vs kill:https://labs.ctl.io/gracefully-stopping-docker-containers/
stop支持容器優雅退出
3.4 其他常用操作
啓動已停止容器
docker start container_id
進入容器
docker attach container_id
刪除容器
docker rm container_id
4 Docker實例與cgroups、lxc的關係
運行docker實例後,查看cgroups和lxc,如圖
可以推測:docker實例與cgroups實例有對應關係,印證docker沿用內核cgroups技術;docker實例與lxc實例無對應關係,印證Docker自行開發了libcontainer。
5 私有倉庫
安裝docker-registry
sudo docker run -d -p 5000:5000 registry sudo docker run -d -p 5000:5000 -v /home/user/registry-conf:/registry-conf –e DOCKER_REGISTRY_CONFIG=/registry-conf/config.yml registry
默認情況下,倉庫會被創建在容器的 /tmp/registry下。可以通過 -v參數來將鏡像文件存放在本地的指定路徑。例如下面的例子將上傳的鏡像放到 /opt/data/registry目錄。
sudo docker run -d -p 5000:5000 -v /opt/data/registry:/tmp/registry registry
6 參考
http://dockerpool.com/static/books/docker_practice/index.html
https://github.com/yeasy/docker_practice
https://github.com/widuu/docker_course