Docker介绍
Docker容器技术于2013年作为开源Docker引擎推出。是一个开源的应用容器引擎,基于 Go 语言并遵从Apache2.0协议开源。基于 Linux 内置的 Namespace 和 CGroup 等系统内隔离机制而抽象出来的一种轻虚拟化技术。
官网:https://www.docker.com/
为什么用Docker?
更快速的交付和部署:
对开发和运维人员来说,最希望的就是一次创建或配置,可以在任意地方正常运行 ,解决开发环境和生产环境不一致的问题。
更轻松的迁移和扩展:
Docker 容器几乎可以在任意的平台上运行,包括物理机、虚拟机、公有云、私有云、个人电脑、服务器等。 这种兼容性可以让用户把一个应用程序从一个平台直接迁移到另外一个。
更高的资源利用率(微服务)
Docker 对系统资源的利用率很高,一台主机上可以同时运行数千个 Docker 容器
socket/workerman/rpc/docker群:604438441
容器与虚拟机对比
微软与 Docker 在 2014 年宣布了合作,以期将容器技术带到 Windows Server 操作系统,并为传统的 Windows 应用程序的容器化改造提供更直接的支持。在 2017 年 10 月发布的 Windows Server 1709 版本包含了 Windows 容器,意味着这项技术可以用于生产环境了
Docker 从 17.03 版本之后分为 CE(Community Edition: 社区版) 和 EE(Enterprise Edition: 企业版)
Docker 架构
Docker使用C/S架构,通过docker客户端连接到Docker服务器上从而管理Docker服务器里面的镜像和容器。composer git
Docker几个概念
镜像(Image)
Docker 镜像(Image)就是一个只读的模板。例如:一个镜像可以包含一个完整的操作系统环境,里面仅安装了 Apache 或用户需要的其它应用程序。镜像可以用来创建 Docker 容器,一个镜像可以创建很多容器。Docker 提供了一个很简单的机制来创建镜像或者更新现有的镜像,用户甚至可以直接从其他人那里下载一个已经做好的镜像来直接使用。
容器(Container)
Docker 利用容器(Container)来运行应用。容器是从镜像创建的运行实例。它可以被启动、开始、停止、删除。每个容器都是相互隔离的。
文件系统隔离技术使得Docker成为了一个非常有潜力的虚拟化技术。在容器中可以对文件进行修改、删除、创建。
仓库(Registry)
仓库(Repository)是集中存放镜像文件的场所。
仓库分为公开仓库(Public)和私有仓库(Private)两种形式。最大的公开仓库是 Docker Hub,存放了数量庞大的镜像供用户下载。
Docker 仓库的概念跟 Git 类似,注册服务器可以理解为 GitHub 这样的托管服务。
镜像仓库 https://hub.docker.com
类似于 composer仓库 https://packagist.org/
Windows安装docker(自己安装)
要求
64bit Windows 10 Build 10586 Pro, Enterprise or Education
电脑支持虚拟化
开启Hyper-V。
win7、win8 等需要利用 docker toolbox 来安装。
Linux安装docker
环境要求
centos7 6不支持
关闭防火墙
关闭 selinux
vim /etc/selinux/config
SELINUX=enforcing
开始安装
yum install -y yum-utils device-mapper-persistent-data lvm2
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
yum install docker-ce
安装指定版本
yum list docker-ce --showduplicates | sort -r
yum install docker-ce-18.06.3
启动docker
systemctl start docker
验证docker是否安装成功
docker run hello-world
配置阿里云加速器
https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors
查看是否生效
docker info
安装discuz
安装启动mysql
docker run --name mysql-5.7.26 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7.26
安装discuz
docker run --name discuz --link mysql-5.7.26:mysql -p 80:80 -d skyzhou/docker-discuz
执行完之后 直接浏览器访问ip即可 |