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
2.3 删除镜像
sudo docker rmi p_w_picpath
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