容器管理
创建与查看
docker run -it --name vm1 ubuntu bash #创建容器,容器名称为vm1
docker ps -a #查看容器的状态
docker attach vm1 #连接到vm1这个容器上
docker logs vm1 #查看容器曾经执行的指令(类似日志)
docker inspect vm1 # 容器vm1的状态,以json格式返回
docker diff vm1 #查看容器的修改
控制与管理
docker stop vm1 #停止容器vm1
docker start vm1 #启动容器vm1
docker kill vm1 #强制终止容器
docker restart vm1 #重启容器
docker pause/unpause #将容器vm1挂起
docker rm vm1 #删除容器
docker export vm1 > vm1.tar #将容器导出到一个tar包
docker import vm1.tar image #导入容器为景象images
容器大体的文件系统如下图
docker的运行机制
我们可以大体知道容器与镜像的最大不同之处,在于容器是一个写入层,可以进行一系列的测试与操作。
镜像管理
镜像用来创建容器,是容器的只读模板,默认可以从 docker hub 上下载。docker 的镜像是 增量修改,每次创建新的镜像都会在父镜像上构建一个增量的层,基于 AUFS 技术。
docker search #查询镜像
docker pull #拉取镜像
docker push #推送镜像
镜像默认可以从 docker hub 上下载,这是 docker 官方的公共仓库,为我们免费提供了大量 已经容器化的应用镜像,避免我们重复的去造轮子。但是官方并没有在国内部署服务器, 如果你不走 vpn 的话真的是太慢了,报错和超时让人非常的郁闷。
给大家介绍个可以快速下载镜像的好办法:
www.daocloud.io 为我们提供了永久免费的加速器服务,相当于 docker hub 在国内的缓存 服务器。
首先你需要在此网站上注册一个帐号,加速器需要和 Daocloud ID 绑定才能正常工作。注册 后进入加速器页面,按照提示选择你的自有主机的系统类型,我使用的是 rhel7,直接选择 了 centos 就可以。(rhel6 内核太旧不支持)
安装 Docker 官方的最新发行版(如果本机已经安装了 docker,可以跳过)
curl -sSL https://get.daocloud.io/docker | sh
chkconfig docker on
systemctl start docker
systemctl status docker
安装主机监控程序
curl -L -o /tmp/daomonit.x86_64.rpm https://get.daocloud.io/daomonit/daomonit.x86_64.rpm # rpm -Uvh /tmp/daomonit.x86_64.rpm
daomonit -token=d83acdfe259cb5731a07f73dea1394d5d7ea1153 save-config (此处的 tokenid 按照你实际注册的信息来填写)
service daomonit start
然后可以进行初始化,在shell中原来的docker命令改为dao其他的用法基本大·致相同。
dao pull ubuntu
镜像的管理命令
docker images #查看本地镜像
docker inspect #查看镜像详情
docker save ubuntu > ubuntu.tar #导出镜像
ocker load -i ubuntu.tar #导入镜像
docker commit #更新镜像
docker rmi 镜像名 #删除镜像