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 p_w_picpaths

wKiom1YV2quSH81fAAHfOOfrEeY153.jpg


2.3 删除镜像

sudo docker rmi p_w_picpath

2.4 创建新镜像

大致思路是运行一个container,进行修改后,然后提交为一个镜像。

提交

sudo docker commit -m 'add test' -a  'Docker Newbee' c2e11c9b294b ubuntu:test

wKiom1YV24ugvSw_AANkIie-gkc627.jpg   


3 容器

3.1 运行

sudo docker run -i -t ubuntu  /bin/echo hello world

wKiom1YV3wGDFd9SAABY87gbcLY561.jpg

sudo docker run -i -t ubuntu /bin/bash

wKioL1YV33Pgep6WAACzgQIr8gY162.jpg


# 开启一个非常有用的长时间工作进程
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实例与cgroupslxc的关系

运行docker实例后,查看cgroupslxc,如图

wKioL1YV3R-CdRarAAJjLLs92Lg998.jpg

可以推测: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