Docker学习笔记(一)
一款主流的云平台技术,java EE和阿里云
Docker简介
基础知识
- Linux命令;Maven 和 git 知识
- 立足于javaEE方向
- JavaEE(ssm); Docker ——Go (swarm; compose;machine;mesos;k8s;CI/CD; Jenkins)
1.Docker是什么
为了解决工程部署环境配置复杂的问题,简化部署流程,出现了一种“容器”,把开发人员调试完备的代码和环境打包起来部署到服务器上。就好比连同鱼和鱼缸一起买回家。
软件可以带环境安装,项目可以带环境部署
镜像概念:docker三要素之一(仓库 镜像 容器)。
我们不再交代码,我们交付镜像,即把代码和环境打包。
理念:一次构建,处处运行
docker:解决了运行环境和配置的问题的软件容器,方便做持续集成并有助于整体发布的容器虚拟化技术。
2.Docker能干什么
此前的虚拟机技术,容器虚拟化技术就是脱胎于虚拟机技术。
Docker和传统虚拟技术的不同
虚拟机的缺点:占用资源多;冗余步骤多;启动慢
Docker | 传统虚拟技术 | |
---|---|---|
虚拟的内容 | 容器内应用进程之间运行于宿主的内核,容器没有自己内核,也没有虚拟硬件 | 虚拟一套硬件后,运行一个完整的操作系统,在该系统上运行所需要的进程 |
隔离 | 每个容器互相隔离,都有自己的文件系统,容器之间没有相互影响,耦合度比较低。 | 虚拟机就是一个普通的文件 |
docker就是一个浓缩版轻量级的linux系统 |
Docker的优点
易于 : 交付部署;升级扩缩容;系统运维;资源利用;
官网:http://www.docker.com
中文官网:http://www.docker-cn.com
仓库:Docker Hub
3.Docker架构图
三个模块:client(客户端,操作的命令终端) docker_host(主机) registry(注册仓库)
基本组成:镜像(image)、容器(container)、仓库(repository)。
我们用一个类比java的表格进行对比。
docker | 面向对象 | |
---|---|---|
实体 | 容器 | 对象 |
模版 | 镜像 | 类 |
镜像:一个只读的模版。镜像可以创建很多docker容器。
容器:docker利用容器独立运行一个或一组应用,容器就是镜像创建的运行实体。
可以把容器看作是一个简易版的linux环境和运行在其中的应用程序。
仓库:集中存放镜像文件的场所。仓库和仓库注册服务器是有区别的,仓库注册服务器上一般有多个仓库,仓库包含多个镜像。
为什么使用docker ?
Mac安装Docker
因为用的是mac也不想搞什么虚拟机,直接在mac上安装Docker。
使用Homebrew安装
$ brew install --cask --appdir=/Applications docker
# 安装完成之后检查
$ docker --version
Docker version 20.10.6, build 370c289
由于使用的是外网,所以先配置一个阿里云的镜像加速,
官方文档:阿里云镜像加速文档 Docker官方镜像使用阿里云加速器的方法
Mac版的操作:
1. 安装/升级Docker客户端
对于10.10.3以下的用户 推荐使用Docker Toolbox
Mac安装文件:http://mirrors.aliyun.com/docker-toolbox/mac/docker-toolbox/
对于10.10.3以上的用户 推荐使用Docker for Mac
Mac安装文件:http://mirrors.aliyun.com/docker-toolbox/mac/docker-for-mac/
2. 配置镜像加速器
针对安装了Docker Toolbox的用户,您可以参考以下配置步骤:
创建一台安装有Docker环境的Linux虚拟机,指定机器名称为default,同时配置Docker加速器地址。
docker-machine create --engine-registry-mirror=https://17glbpns.mirror.aliyuncs.com -d virtualbox default
查看机器的环境配置,并配置到本地,并通过Docker客户端访问Docker服务。
docker-machine env defaulteval "$(docker-machine env default)"docker info
针对安装了Docker for Mac的用户,您可以参考以下配置步骤:
在任务栏点击 Docker Desktop 应用图标 -> Perferences,在左侧导航菜单选择 Docker Engine,在右侧输入栏编辑 json 文件。将
https://17glbpns.mirror.aliyuncs.com加到"registry-mirrors"的数组里,点击 Apply & Restart按钮,等待Docker重启并应用配置的镜 像加速器。
3. 相关文档
4.Mac如何检验镜像加速成功
$ cat /etc/docker/daemon.json
# 执行后会显示
{
"registry-mirrors": ["https://17glcdus.mirror.aliyuncs.com"]
}
# 就是配置成功了!不相信的话可以试试下面的命令看看执行速度如何
$ docker pull hello-world