docker 是基于 go语言实现的开源项目
解决了运行环境和配置问题软件容器, 方便做持续集成并有
助于整体发布的容器虚拟化技术
三要素
仓库/容器/镜像 概念,
docker本身是一个容器运行载体或称之为管理引擎, 我们把应用程序和
配置依赖打包好形成一个可交互的运行环境, 只有通过这个镜像文件才能生成
docker容器, image文件可以看做是一个容器模板, docker根据文件
可以生成多个同时运行的容器实例
image 文件生成的容器实例, 本身也是一个文件, 称为镜像文件
一个容器运行一种服务, 当我们需要的时候, 就可以通过docker客户端
创建一个对应的运行实例, 也就是我们的容器
至于仓库, 就是放了一堆镜像的地方, 我们可以把镜像发布到仓库
中存储, 需要的时候从仓库下载运行即可
以前的虚拟机技术
容器虚拟化技术
开发/运维
虚拟机的缺点
docker 命令
帮助命令
docker version 查看版本
docker info 详细信息
docker --help 查看命令
镜像命令
docker images 列出本地所有镜像
REPOSITORY: 表示镜像的仓库源
TAG:镜像的标签
IMAGE ID: 镜像ID
CREATED:镜像创建时间
SIZE: 镜像大小
-a : 列出本地所有的镜像(包含中间镜像层)
-qa : 返回镜像ID
–digests:显示镜像信息
docker search 某个xxx镜像名字
-s 30 显示拉取镜像点赞数大于30的(Tomcat,NGINX)
--no-trunc 显示完整镜像描述信息
-automated只列出automated build类型的镜像
docker pull xxx镜像: 在网上拉下最新版本
docker rmi -f xxx镜像名: f强制删除(单个)
docker rmi -f xxx镜像 xxx镜像(两个或多个)
docker rmi -f $(docker images -qa) 删除全部镜像
容器命令
docker pull centos 下载centos镜像, 简易版的Linux环境
docker run [option] image [command]创建并运行容器
docker run -it centos 启动docker里面的centos
option说明:
–name= ‘容器新名字’:为容器指定一个名称
-d 后台运行容器, 并返回容器ID, 也即启动守护式容器
-i 以交互模式运行容器, 通常与-t同时使用
-t 为容器重新分配一个伪输入终端, 通常与-i同时使用
-P 随机端口映射
-p 指定端口映射,有四种格式
ip: hostPort:containerPort
ip::containerPort
hostPort:containerPort
containerPort
docker run -it --name 名 centos
docker ps 查看docker里面运行的所有进程
docker ps -a 查看运行过的镜像
-n 5 显示最近的5次运行镜像
-q 或 -l 查看正在运行镜像
-lq 历史运行镜像id
退出容器
1.exit
2. Ctrl+D
退出镜像且不关闭 Ctrl+p+q
启动容器
docker start 容器id :
docker restart 容器名 : 重启
停止容器
docker stop 容器id
docker kill 容器id :强行关闭
删除已停止的容器
docker rm 容器id
docker rm -f $(docker ps -qa) 删除所有运行的容器
守护进程启动
docker run -d centos 瞬间被关闭, 因为没有进程在相应它
查看容器日志
docker logs -f -t --tail 容器名
小结