1.简介
1.1.Docker 的应用场景
Web 应用的自动化打包和发布。 自动化测试和持续集成、发布。 在服务型环境中部署和调整数据库或其他的后台应用。
从头编译或者扩展现有的 OpenShift 或 Cloud Foundry 平台来搭建自己的 PaaS 环境。
1.2.Docker 的优点
Docker 让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行 的 Linux 机器上,便可以实现虚拟化。Docker 改变了虚拟化的方式,使开发者可以直接将自己 的成果放入 Docker 中进行管理。方便快捷已经是 Docker 的最大优势,过去需要用数天乃至数周 的 任务,在 Docker 容器的处理下,只需要数秒就能完成。
如果你有选择恐惧症,还是资深患者。Docker 帮你 打包你的纠结!比如 Docker 镜像;Docker 镜像中包含了运行环境和配置,所以 Docker 可以简化部署多种应用实例工作。比如 Web 应用、 后台应用、数据库应用、大数据应用比如 Hadoop 集群、消息队列等等都可以打包成一个镜像 部署。
一方面云计算时代到来,使开发者不必为了追求效果而配置高额的硬件,Docker 改变了高性 能必然高价格的思维定势。Docker 与云的结合,让云空间得到更充分的利用。不仅解决了硬件 管理的问题,也改变了虚拟化的方式。
1.3.Docker 架构
Docker 使用客户端-服务器 (C/S) 架构模式,使用远程 API 来管理和创建 Docker 容器。 Docker 容器通过 Docker 镜像来创建。 容器与镜像的关系类似于面向对象编程中的对象与类。
名称 | 释义 |
Docker 镜像(Images) | Docker 镜像是用于创建 Docker 容器的模板。 |
Docker 容器(Container) | 容器是独立运行的一个或一组应用。 |
Docker 客户端(Client) |
Docker 客户端通过命令行或者其他工具使用 Docker API (https://docs.docker.com/reference/api/docker_remote_api) 与 Docker 的守护进程通信。 |
Docker 主机(Host) | 一个物理或者虚拟的机器用于执行 Docker 守护进程和容 器。 |
Docker 仓库(Registry) |
Docker 仓库用来保存镜像,可以理解为代码控制中的代码仓 库。
Docker Hub(https://hub.docker.com) 提供了庞大的镜像集合 供使用。 |
Docker Machine |
Docker Machine 是一个简化 Docker 安装的命令行工具,通过 一个简单的命令行即可在相应的平台上安装 Docker,比如 VirtualBox、 Digital Ocean、Microsoft Azure。 |
2.相关
系统:CentOS Linux release 7.5.1804 (Core)
docker:18.06.1-ce
IP:172.20.10.148
3.步骤
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 list docker-ce --showduplicates|sort -r
yum -y install docker-ce-18.06.1.ce-3.el7
systemctl start docker systemctl enable docker
4.一键部署环境
[root@itbkz ~]#yum install -y yum-utils device-mapper-persistent-data lvm2 && yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo && yum -y install docker-ce-19.03.8 && systemctl start docker && systemctl enable docker
5.docker镜像下载加速
5.1.阿里云
到加速器页面查看自己的加速地址,点我访问,然后配置镜像加速器,您可以通过修改daemon
配置文件/etc/docker/daemon.json
来使用加速器
[root@itbkz ~]cat >> /etc/docker/daemon.json << EOF { "registry-mirrors": ["你自己的阿里云加速地址"] } EOF [root@itbkz ~]systemctl restart docker
你自己的阿里云加速地址
”替换为自己的,在执行命令5.2.道云
[root@itbkz ~]#curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://f1361db2.m.daocloud.io docker version >= 1.12 { "registry-mirrors": ["http://f1361db2.m.daocloud.io"] } Success. You need to restart docker to take effect: sudo systemctl restart docker [root@itbkz ~]systemctl restart docker
6.扩展portainer
使用WEB界面操作docker(Portainer程序)
6.1.原版英文版
docker run -itd --name=portainer --restart=always -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock -v /data/portainer/data:/data portainer/portainer-ce:latest
portainer/portainer
镜像已停止更新,更换为portainer/portainer-ce:latest
镜像,本地无 portainer/portainer-ce:latest
镜像将会自动去 pull
,pull
完成之后将会创建容器并启动,之后可以使用浏览器访问http://IP:9000来操作docker6.2.汉化版
docker run -itd --name=portainer --restart=always -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock -v /data/portainer/data:/data -v /data/portainer/chinese:/public portainer/portainer-ce:latest
portainer-ce2.11.1