Docker简介
前言
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的Linux或Windows 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。
Docker架构
Docker 使用客户端-服务器 (C/S) 架构模式,使用远程API来管理和创建Docker容器。Docker 容器通过 Docker 镜像来创建。容器与镜像的关系类似于面向对象编程中的对象与类。
Docker采用 C/S架构 Docker daemon 作为服务端接受来自客户的请求,并处理这些请求(创建、运行、分发容器)。 客户端和服务端既可以运行在一个机器上,也可通过 socket 或者RESTful API 来进行通信。
Docker daemon 一般在宿主主机后台运行,等待接收来自客户端的消息。 Docker 客户端则为用户提供一系列可执行命令,用户用这些命令实现跟 Docker daemon 交互。
一个完整的Docker有以下几个部分组成:
- DockerClient客户端
- Docker Daemon守护进程
- Docker Image镜像
- DockerContainer容器
Docker的应用场景:
- Web 应用的自动化打包和发布。
- 自动化测试和持续集成、发布。
- 在服务型环境中部署和调整数据库或其他的后台应用。
- 从头编译或者扩展现有的 OpenShift 或 Cloud Foundry 平台来搭建自己的 PaaS 环境。
Docker安装
win10 Docker安装
现在 Docker 有专门的 Win10 专业版系统的安装包.
1.开启Hyper-V。
2.下载 Toolbox
最新版 Toolbox 下载地址: https://www.docker.com/get-docker
点击 https://hub.docker.com/?overlay=onboarding,下载 Windows 的版本,如果你还没有登录,会要求先注册登录。
3.安装软件
双击下载的 Docker Desktop Installer.exe安装文件,然后一路 Next。
第二选项可以先不选,完成安装后可手动切换。
最后点击 Finish 完成安装。
安装完成后,Docker 会自动启动。通知栏上会出现个小鲸鱼的图标
,这表示 Docker 正在运行。
如果没启动,可以通过Docker Desktop双击启动。
4.测试
win+r输入命令cmd打开命令窗口。
#docker version --查看版本号
载入测试镜像测试
#docker run hello-world
本地镜像查看,可看到hello-world镜像。
#docker images
至此docker已安装完成并验证成功。
Ubuntu Docker 安装
Docker Engine-Community 支持以下的 Ubuntu 版本:
- Xenial 16.04 (LTS)
- Bionic 18.04 (LTS)
- Cosmic 18.10
- Disco 19.04
- 其它更新的版本
1.设置仓库
更新 apt 包索引
$sudo apt-get update
安装 apt 依赖包,用于通过HTTPS来获取仓库
$sudo apt-get -y install apt-transport-https ca-certificates curl software-properties-common
安装GPG证书(添加 Docker 的官方 GPG 密钥)
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
设置稳定版仓库,写入软件源信息
$ sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
查看源是否已经生效
$ apt-cache policy docker-ce
2.安装 Docker Engine-Community
更新 apt 包索引。
sudo apt-get -y update
安装最新版本的 Docker Engine-Community 和 containerd ,或者转到下一步安装特定版本:
$sudo apt-get -y install docker-ce
或
$ sudo apt-get install docker-ce docker-ce-cli containerd.io
安装之后执行以下命令有信息输出即证明成功。
$ sudo systemctl status docker
或运行一个docker镜像
$sudo docker run hello-world