核心概念
镜像
是docker容器的基础,可以理解为面向docker引擎的只读模板。比如:一个镜像只包含了nginx,则称为nginx镜像;一个镜像只包含了ubuntu,则可以称为ubuntu镜像。
获取镜像
docker pull name[:tag]
例如:获取Ubuntu镜像,docker pull ubuntu,如果不指定tag,,默认下载lastest版本。
查看镜像列表
docker images
查看镜像详情
docker inspect 镜像id
搜寻镜像
docker search ubuntu
删除镜像
docker rmi 镜像id或者标签
创建镜像
基于已有容器创建。
docker commit [options] container [respostory [:tag]]
options:
-a :作者信息。
-m:提交信息。
-p:提交时,是否暂停容器运行。
例子:
docker commit -a "mask" -m "add file" 容器id 新容器名称
基于dockerfile
//todo
上传镜像
docker push name [:tag]
导出镜像
docker save -o xxx.jar repostory:tag
载入镜像
docker load < xxx.jar
容器
容器是镜像运行的实例,可以理解为一种轻量级的linux系统环境,具有独立的用户空间,内核空间,网络空间,进程空间。
新建并启动容器
docker run image [options]
相当于docker create 和docker start命令。
-i:让容器的标准输入打开。
-t:分配一个伪终端并绑定到标准输出上。
-d:在后台以守护态运行。
流程:
本地仓库查找镜像,如果不存在,就从远程仓库获取。
利用镜像创建一个容器并启动。
分配一个文件系统,并在只读的镜像层外面挂载一个可写层。
从宿主机配置的网桥接口中桥街一个虚拟接口到容器中去。
从地址池中选择一个ip分配给容器。
执行用户指定的用户程序。
如果不是守护命令启动的,容器终止。
终止容器
docker stop 容器id
查看容器列表
docker ps
-a:查询所有
重启容器
docker restart
进入容器
docker exec -ti 容器id
删除容器
docker rm [options] container
-f:强制删除容器。
-l:删除容器的连接,保留容器。
-v:删除容器挂载的数据卷。
导出容器
docker export container > xxx.jar
导入容器
cat xxx.jar |docker import - repostory:tag
镜像的导出和容器的导出区别:
容器的导出,属于导出的快照,历史信息会消失。镜像的导出是包含所有的数据。
仓库
存放镜像的地方。一般会在本地搭建一个私有仓库。
创建私有仓库
docker run -d -p 5000:5000 register
默认在/tmp/register目录下,-v指定私有仓库位置。
Last updated
Was this helpful?