一、docker介绍
docker采用的是c/s架构模式
客户端与守护进程采用socket或restfulAPI进行通讯
守护进程会处理复杂繁琐的事务
解决了运行环境和配置问题软件容器
方便做集成并有助于整体发布的容器虚拟化技术
docker面向软件,虚拟机面向硬件,
ocker部署速度是秒级,虚拟机时是分钟级别
二、docker三要素
仓库:用来保存镜像,可以理解为代码控制中的代码仓库
镜像:docker容器运行时的只读模板,每一个镜像由一系列的层组成,一个镜像可以生成多个同时运行的容器实例
容器:容器和文件夹很类似,一个Docker容器包含了所有的某个应用运行所需要的环境
每一个容器都是从镜像创建的,都是独立和安全的应用平台
Docker 容器可以运行、开始、停止、移动和删除
容器-对象,镜像-类
三、docker镜像命令
显示本地已有镜像
docker images :显示当前镜像
-a 列出本地所有的镜像(含中间映像层)
-q 只显示镜像ID
—digests 显示镜像的描述信息
—no-trunc 显示完整的镜像信息
查找本地某个镜像
docker images 镜像名
搜索镜像
docker search 镜像名:查找某个镜像
—no-trunc 显示完整的镜像信息
-s 列出收藏数不小于指定值的镜像(也就是镜像的点赞数)-s 30 ,显示点赞数超过30的镜像
—automated 只列出automated build类型的镜像
下载镜像
docker pull 镜像名 docker pull 镜像名 等价于 docker pull 镜像名:latest
默认为latest,最新版,也可以指定版本
删除镜像
Docker rmi -f 镜像名/镜像ID 删除单个镜像
docker rmi -f 镜像名1:tag 镜像名2:tag 删除多个镜像 docker
rmi -f $(docker images -qa) 全部删除 如果有多个不同镜像版本,不加版本会默认为最新的,(latest)
四 、docker容器命令
新建并启动容器
docker run 【options】容器名字 如:docker run -it —name myjenkins
Options选项:
—name :给启动的容器去一个别名
-d:后台容器运行并返回容器id
-i :交互式运行容器与-t一起用
-t:为容器分配一个伪输入终端
-P 随机端口映射
-p指定端口映射
查看当前运行的的容器
docker ps [options]
Options选项:
-a :显示当前所有正在运行的容器+历史上运行过的容器
-l:显示最近创建的容器
-n :显示最近n个创建的容器 -n 3 显示最近创建三次的容器
-q:静默模式,只显示容器编号 —no-trunc 不截断输出
退出容器
exit 关闭并退出
ctrl+p+q 不关闭容器退出
启动容器
docker start 容器ID
重启容器
docker restart 容器ID
停止容器
docker stop 容器ID
强制停止容器
docker kill 容器ID
删除容器
删除已停止容器 docker rm 容器ID
强制删除容器 docker rm -f 容器ID
一次性删除多个容器 docker rm -f $(docker ps -a -q)
docker ps -a -q | xargs docker rm
守护式启动容器(后台运行,返回容器ID)
docker run -d 容器名
查看容器日志
docker logs -f -t —tail 容器ID
-t 加入时间戳
-f 跟随最新的日志打印
—tail 数字显示最后多少条
查看容器内运行的进程
docker top 容器ID
查看容器内部细节
docker inspect 容器ID
进入正在运行的容器并以命令行交互
docker exec -it 容器ID bashShell
docker attach 容器ID (重新进入)
区别
**attach:**直接进入容器启动命令终端,不会启动新的进程
exec:在容器中打开新的终端,并可以启动新的进程
从容器内拷贝文件到宿主机
docker cp 容器ID:容器内路径 宿主机路径