Docker学习笔记(二)--再识docker
Docker学习笔记(二)--再识docker
Docker基本概念和常用命令
#docker ps:查看相关的进程。可以看到容器的id号、docker镜像、创建时间、当前状态、监听端口和容器名字等
三大组件:仓库(repository)、镜像(image)、容器(Container)
1、Docker官方提供了官方的Docker仓库,存放着Docker镜像;
2、Docker镜像是为了满足特殊用途而按照Docker的规则制作的应用;
3、容器是用户利用Docker镜像创建Docker容器,容器会启动预先定义好的进程与客户交互,对外提供服务。容器基于镜像创建,可以为多个名称不同但功能相同的容器。
#未指定仓库默认优先选择本地镜像
Docker指令的基本用法:
docker [options] COMMAND [arg...]
docker + 命令(COMMAND)+ 参数([arg...])
help使用:docker command --help #docker run --help
docker --help
一共支持51条指令,主要是:
1、获取守护进程的系统资源设置和全局信息,比如:docker info、docker daemon等;
2、查询docker仓库、下载操作,比如:docker search、docker pull等;
3、查询、创建、删除镜像等操作,比如:docker images、docker build等;
4、查询、创建、开启、停止容器操作,比如:docker ps、docker run等;
组织结构
Docker位于操作系统和虚拟容器(lxc或libcontainer)之上。通过调用cgroup、namespaces和libcontainer等系统层面的接口来完成资源分配与相互隔离。
在主机上,先启动一个守护进程(docker daemon),所有的容器都被守护进程控制,同时守护进程监听并接受Docker客户端(Docker Client)指令,并把执行结果返回给Docker客户端。
动手学习
1、查看版本号:docker version
2、查询镜像:docker search image_name
例:docker search mysql
#镜像名:docker.io/mysql
格式:<username>/<repository> #用户名+镜像名
3、下载镜像:docker pull docker.io/learn/tutorial
4、创建并启动容器:
下载的镜像作为模板,启动容器。容器作为在一个相对独立环境中运行一个进程,这个独立环境拥有进程运行所需要的一切,包括文件系统、库文件、shell脚本等。
docker run:用来创建并运行Docker容器。至少需要镜像名、在容器中运行的命令。
例:docker run learn/tutorial echo "hello world"
5、修改容器:
容器内安装软件包,会一直保留容器内。
docker run learn/tutorial apt-get install -y ping
6、创建新镜像
查看宿主机上最新的容器:docker ps -l
提交形成新镜像,支持在原有镜像基础上,只提交增量修改部分,形成一个新镜像;可以使用新镜像启动容器。
docker commit docker_id learn/tutorial_ping
7、查询容器信息
查看单个容器详细信息:docker inspect docker_id
可以使用容器ID来指定容器,也可以使用容器id前三四个字符
例:docker ps
docker inspect b9f
#查看容器的完整ID、运行状态、网络设置、镜像等信息。内容为json格式。
8、上传新镜像到仓库
查看宿主机的镜像列表:docker images
将新镜像上传到仓库:docker push learn/tutorial_ping