docker技术入门与实践(一)

 简单说,这本书就是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,也可以自己搭建仓库.
本部分欠奉

你可能感兴趣的:(docker技术入门与实践(一))