docker入门笔记(一)

目标 1: 了解 Docker 与虚拟机的不同点, 相比的优势
目标 2: 掌握 Docker 的启动方法
目标 3: 掌握 Docker 镜像操作
目标 4: 掌握 Docker 容器操作
目标 5: 掌握 Mysql tomcat Nginx Redis 等容器的部署方法
目标 6: 掌握 Docker 的备份与迁移方法
什么是虚拟化
在计算机中, 虚拟化(英语: Virtualization) 是一种资源管理技术, 是将计算机的各种
实体资源,包括计算能力和资料存储,在实际的生产环境中, 虚拟化技术主要用来解决高性能的物理硬件产能过剩和老的旧的
硬件产能过低的重组重用, 透明化底层物理硬件, 从而最大化的利用物理硬件 对资源充分利用。

虚拟化种类
(1) 全虚拟化架构
VMware 的 workstation,虚拟机的监视器(hypervisor)类似于用户的应用程序运行在主机的 OS 之上
(2) OS 层虚拟化架构
(3) 硬件层虚拟化

硬件层的虚拟化具有高性能和隔离性, 因为 hypervisor 直接在硬件上运行
容器与虚拟机比较
(1) 本质上的区别
(2) 使用上的区别
更小,更快,体验更好

Docker 特点
(1) 上手快
Docker 依赖于“写时复制”(copy-on-write) 模型启动快,同时同一台宿主机中也可以运行更多的容器

(2) 职责的逻辑分类
Docker 设计的目的就是要加强开发人员写代码的开发环境与应用程序要部署的生产环境一致性
(3) 快速高效的开发生命周期
缩短代码从开发、 测试到部署、 上线运行的周期
(4) 鼓励使用面向服务的架构
Docker 推荐单个容器只运行一个应用程序或进程, 这样就形成了一个分布式的应用程序模型,
Docker 组件
Docker 是一个客户端-服务器(C/S) 架构程序。 Docker 客户端只需要向 Docker 服务器
或者守护进程发出请求, 服务器或者守护进程将完成所有工作并返回结果。 Docker 提供了
一个命令行工具 Docker 以及一整套 RESTful API。
Docker 镜像
镜像是构建 Docker 的基石。 用户基于镜像来运行自己的容器,镜像体积很小, 非常“便携” , 易于分享、 存储和更新。
Registry(注册中心)
Docker 用 Registry 来保存用户构建的镜像。 Registry 分为公共和私有两种
Docker 容器
Docker 可以帮助你构建和部署容器, 你只需要把自己的应用程序或者服务打包放进容
器即可。 容器是基于镜像启动起来的, 容器中可以运行一个或多个进程
Docker 安装与启动
官方建议在 Ubuntu 中安装
自己研究:在 VMware Workstation 中安装 CentOS7

yum install docker在线安装
docker -v查看 Docker 版本
启动与停止 Docker
systemctl 命令是系统服务管理器指令, 它是 service 和 chkconfig 两个命令组合。
 启动 docker: systemctl start docker
 停止 docker: systemctl stop docker
 重启 docker: systemctl restart docker
 查看 docker 状态: systemctl status docker
 开机启动: systemctl enable docker
 查看 docker 概要信息: docker info
 查看 docker 帮助文档: docker --help
Docker 镜像操作
Docker 镜像是由文件系统叠加而成(是一种文件的存储形式) 。 最底端是一个文件引
导系统, 即 bootfs一个容器启动后, 它将会被移动到内存中, 而引导文件系统则会被卸载
列出镜像
列出 docker 下的所有镜像: docker images
 REPOSITORY: 镜像所在的仓库名称
 TAG: 镜像标签
 IMAGE ID: 镜像 ID
 CREATED: 镜像的创建日期(不是获取该镜像的日期)
 SIZE: 镜像大小
 这些镜像都是存储在 Docker 宿主机的/var/lib/docker 目录下
拉取镜像
ustc 的镜像
ustc的 docker 镜像加速器速度很快。就是不需要注册https://lug.ustc.edu.cn/wiki/mirrors/help/docker
步骤:
(1) 编辑该文件: vi /etc/docker/daemon.json
(2) 在该文件中输入如下内容:
{
"registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"]
}
(3) 注意: 一定要重启 docker 服务, 如果重启 docker 后无法加速, 可以重新启动 OS
搜索镜像
docker search 镜像名称
 NAME: 仓库名称
 DESCRIPTION: 镜像描述
 STARS: 用户评价, 反应一个镜像的受欢迎程度
 OFFICIAL: 是否官方
 AUTOMATED: 自动构建, 表示该镜像由 Docker Hub 自动构建流程创建的
删除镜像
1、 docker rmi $IMAGE_ID: 删除指定镜像
2、 docker rmi `docker images -q`: 删除所有镜像
Docker 容器操作
交互式容器
创建一个交互式容器并取名为 mycentos
docker run -it --name=mycentos centos:7 /bin/bash
守护式容器
docker run -di --name=mycentos2 centos
 登录守护式容器方式:
docker exec -it container_name (或者 container_id) /bin/bash(exit 退出时, 容器不会停止)

 创建容器常用的参数说明:
 创建容器命令: docker run
 -i: 表示运行容器
 -t: 表示容器启动后会进入其命令行。 加入这两个参数后, 容器创建就能登录进去。 即
分配一个伪终端。
 --name :为创建的容器命名。
 -v: 表示目录映射关系(前者是宿主机目录, 后者是映射到宿主机上的目录) , 可以使
用多个-v 做多个目录或文件映射。 注意: 最好做目录映射, 在宿主机上做修改, 然后
共享到容器上。
 -d: 在 run 后面加上-d 参数,则会创建一个守护式容器在后台运行(这样创建容器后不
会自动登录容器, 如果只加-i -t 两个参数, 创建后就会自动进去容器) 。
 -p: 表示端口映射, 前者是宿主机端口, 后者是容器内的映射端口。 可以使用多个-p做多个端口映射
 

查看容器
 查看所有的容器(启动过的历史容器) : docker ps –a
 查看最后一次运行的容器: docker ps –l
 查看正在运行容器: docker ps
停止与启动容器
 停止正在运行的容器: docker stop $CONTAINER_NAME/ID
启动已运行过的容器: docker start $CONTAINER_NAME/ID
删除容器
 删除指定的容器: docker rm $CONTAINER_ID/NAME
 删除所有容器: docker rm `docker ps -a -q`

你可能感兴趣的:(docker,docker)