简单说,这本书就是help文件的翻译版,里面的东西都很浅,入门照着操作就行学会.对比虚拟机,docker占用的资源更少,方便迁移和扩展.
docker的3个核心概念
1.镜像(Image):包括可執行應用的文件系統,可以从网上下载,也可以自己制作,将需要的应用打包到镜像里.镜像是只读的.
2.容器(Container):镜像的运行实例,运行实例间是相互隔离.为了保持镜像的只读性,容器会创建一个可写层.容器可以启动 停止 暂停 删除 创建.
3.仓库(repository):镜像仓库,有公有仓库和私有仓库,自己做的也可以上传到仓库供大家下载.
安装docker
$ sudo apt-get install linux-image-generic-lts-trusty
镜像
1.基本操作
docker pull ImageName
将镜像拉到本地
docker push ImageName[:Tag]
将本地镜像推到仓库
docker images 或 docker image ls
查看镜像
docker inspect imagename/镜像id/标签
查看镜像详细信息
docker search Imagename
搜寻远端仓库的共享镜像
docker rmi imagename
删除镜像
docker load --input imagefile或 docker load < imagefile
从本地文件载入镜像
docker save--input imagefile或 docker load < imagefile
从镜像保存到本地文件
2.创建镜像
创建镜像有三个方法:基于已有镜像的容器创建,基于本地模板导入,基于dockerfile创建.
基于本地容器创建镜像
docker commit [OPTIONS] CONTAINER [RESPOSITORY[:TAG]]
-a,--author="作者信息"
-m,--message="提交信息"
-p,--pause=true 提交时暂停容器运行
基于本地模板导入
docker import [OPTIONS] file|URL|- [REPOSITORY[:TAG]] [flags]
从tar文件中内容,导入创建一个镜像
从dockerfile创建镜像
容器
基础操作
docker create -it imagename
创建运行容器docker
docker start 容器id
启动一个已经创建的容器
docker stop 容器id
停止一个已经创建的容器
docker run imagename
等价于docker run + docker start,如果本地镜像不存在,会自动从仓库下载镜像.通过该命令可以:
* 启动容器,为镜像创建一个读写层
* 将宿主机的端口映射到容器上
* 从地址池分配一个ip地址到容器
* 执行用户指定的程序
* 执行完毕后,终止容器
docker run -it --name 容器id imagename
-t 选项让docker分别一个伪终端并绑定到容器的标准输入上,-i参数可以持续打开容器标准输入.
--name 指定容器id,方便后续使用。容器id是唯一的不能重复。
docker rm 容器id
删除容器
中级操作
docker attach 容器id
附加到容器
docker exec 容器id
可以直接执行容器内部的程序
docker export 容器id > containerfile
导出容器到文件,实现容器的迁移.只保留容器当前的运行状态(快照状态),丢弃了历史记录和元数据,体积会比较小.从容器保存到镜像文件会保存完整记录,体积也比较大.
docker import
导入已导出的容器文件.从容器快照导入时,可以重新指定标签和元数据.
仓库
可以使用dockerhub,也可以自己搭建仓库.
本部分欠奉
网友评论