🗼😀本站将逐步迁移至新站点,点击访问 -->

Docker基础操作

8,572次阅读
没有评论

Docker特性

文件系统隔离:每个进程容器运行在完全独立的根文件系统里。

资源隔离:可以使用cgroup为每个进程容器分配不同的系统资源,例如CPU和内存。

网络隔离:每个进程容器运行在自己的网络命名空间里,拥有自己的虚拟接口和IP地址。

写时复制:采用写时复制方式创建根文件系统,这让部署变得极其快捷,并且节省内存和硬盘空间。

日志记录:Docker将会收集和记录每个进程容器的标准流(stdout/stderr/stdin),用于实时检索或批量检索。

变更管理:容器文件系统的变更可以提交到新的映像中,并可重复使用以创建更多的容器。无需使用模板或手动配置。

交互式Shell:Docker可以分配一个虚拟终端并关联到任何容器的标准输入上,例如运行一个一次性交互shell。

daocloud.io加速

Docker基础操作

镜像搜索

docker search <image>:在docker index中搜索image

Docker基础操作

镜像拉取

docker pull daocloud.io/centos:7

Docker基础操作

镜像查看

docker images: 列出images
docker images -a :列出所有的images(包含历史)
docker images --tree :显示镜像的所有层(layer)
docker rmi  <image ID>: 删除一个或多个image

使用镜像创建容器

docker run -it --name Centos1 daocloud.io/centos /bin/bash

 查看容器

docker ps :列出当前所有正在运行的container
docker ps -l :列出最近一次启动的container
docker ps -a :列出所有的container(包含历史,即运行过的container)
docker ps -q :列出最近一次运行的container ID

Docker基础操作

再次启动容器

docker start/stop/restart <container> :开启/停止/重启container
docker start [container_id] :再次运行某个container (包括历史container)
docker attach [container_id] :连接一个正在运行的container实例(即实例必须为start状态,可以多个窗口同时attach 一个container实例)
docker start -i <container> :启动一个container并进入交互模式(相当于先start,在attach)
docker run -i -t <image> /bin/bash :使用image创建container并进入交互模式, login shell是/bin/bash
docker run -i -t -p <host_port:contain_port> :映射 HOST 端口到容器,方便外部访问容器内服务,host_port 可以省略,省略表示把 container_port 映射到一个动态端口。
使用start是启动已经创建过得container,使用run则通过image开启一个新的container

删除容器

docker rm <container...> :删除一个或多个container
docker rm `docker ps -a -q` :删除所有的container
docker ps -a -q | xargs docker rm :同上, 删除所有的container
退出时,使用[ctrl + D],这样会结束docker当前线程,容器结束,可以使用[ctrl + P][ctrl + Q]退出而不终止容器运行

镜像的导出导入

通过容器生成新的镜像

运行中的镜像称为容器。你可以修改容器(比如删除一个文件),但这些修改不会影响到镜像。不过,你使用docker commit <container-id> <image-name>命令可以把一个正在运行的容器变成一个新的镜像。

例如通过镜像创建容器运行,进入容器,建立文件,退出

Docker基础操作

docker commit <container> [repo:tag] 将一个container固化为一个新的image,后面的repo:tag可选。

Docker基础操作

用该镜像生成容器测试

Docker基础操作

可以看到刚才新建的文件依旧在,对容器的操作已经保存至镜像中

持久化容器

export命令用于持久化容器
docker export <CONTAINER ID> > /tmp/export.tar

Docker基础操作

导入持久化容器

删除container 8a1a24c5bfd6

Docker基础操作

导入export.tar文件

cat /tmp/export.tar | docker import - export:latest

Docker基础操作

持久化镜像

Save命令用于持久化镜像
docker save 镜像ID > /tmp/save.tar

 

Docker基础操作

导入持久化镜像

删除image   b289e8bd8ab2

导入save.tar文件

Docker基础操作

对image打tag

Docker基础操作

Honest1y
版权声明:本站原创文章,由Honest1y于2017年11月04日发表,共计6352字。
转载提示:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
评论(没有评论)