Docker
哈喽沃德先生
「哈喽沃德先生」公众号作者
个人网站:mrhelloworld.com
展开
-
Docker Swarm 集群环境搭建及弹性服务部署
上一篇文章《Docker Swarm 集群管理利器核心概念扫盲》中我们把 Swarm 重要的概念性知识给大家讲解了一波,理论完事就该实战了,这篇文章带大家从零开始,搭建 Docker Swarm 集群环境,并通过 Swarm 实现服务的弹性部署,滚动更新服务及回滚服务等功能。集群搭建环境准备五台安装了 Docker 的 CentOS 机器,版本为:CentOS 7.8.2003Docker Engine 1.12+(最低要求 1.12,本文使用 19.03.12)防火墙开启以下端口或者关原创 2020-09-18 13:13:42 · 929 阅读 · 1 评论 -
Docker Swarm 集群管理利器核心概念扫盲
Swarm 简介Docker Swarm 是 Docker 官方推出的容器集群管理工具,基于 Go 语言实现。代码开源在:https://github.com/docker/swarm 使用它可以将多个 Docker 主机封装为单个大型的虚拟 Docker 主机,快速打造一套容器云平台。Docker Swarm 是生产环境中运行 Docker 应用程序最简单的方法。作为容器集群管理器,Swarm 最大的优势之一就是 100% 支持标准的 Docker API。各种基于标准 API 的工具比如 Com.原创 2020-09-17 10:41:31 · 472 阅读 · 0 评论 -
Docker 镜像构建之 Dockerfile
在 Docker 中创建镜像最常用的方式,就是使用 Dockerfile。Dockerfile 是一个用来构建镜像的文本文件,文本内容包含了一条条构建镜像所需的指令和说明。官方文档:https://docs.docker.com/engine/reference/builder/Dockerfile 常用指令FROM语法:FROM <image>:<tag>指明构建的新镜像是来自于哪个基础镜像,如果没有选择 tag,那么默认值为 latest。FROM centos:原创 2020-08-28 08:25:13 · 679 阅读 · 3 评论 -
Docker Compose 搭建 Redis Cluster 集群环境
在前文《Docker 搭建 Redis Cluster 集群环境》中我已经教过大家如何搭建了,本文使用 Docker Compose 再带大家搭建一遍,其目的主要是为了让大家感受 Docker Compose 所带来的便捷之处。按照 Redis 官网:https://redis.io/topics/cluster-tutorial 的提示,为了使 Docker 与 Redis Cluster 兼容,您需要使用 Docker 的 host 网络模式。host 网络模式需要在创建容器时通过参数 --net原创 2020-09-10 10:10:34 · 416 阅读 · 0 评论 -
Docker 容器编排利器 Docker Compose
Compose 简介通过前面几篇文章的学习,我们可以通过 Dockerfile 文件让用户很方便的定义一个单独的应用容器。然而,在日常工作中,经常会碰到需要多个容器相互配合来完成某项任务的情况,例如之前我给大家讲过的《Docker 搭建 Redis Cluster 集群》,或者开发一个 Web 应用,除了 Web 服务容器本身,还需要数据库服务容器、缓存容器,甚至还包括负载均衡容器等等。Docker Compose 恰好满足了这样的需求,它是用于定义和运行多容器 Docker 应用程序的工具。通过 C原创 2020-09-08 09:15:20 · 918 阅读 · 1 评论 -
Docker 搭建 Redis Cluster 集群环境
使用 Docker 搭建 Redis Cluster,最重要的环节就是容器通信的问题,这一块我们在之前的文章中已经给大家解决了《Docker 网络模式详解及容器间网络通信》,本篇文章主要练习使用多个容器完成 Redis Cluster 集群环境的搭建,顺便为学习 Docker Compose 铺铺路。俗话说没有对比就没有伤害,通过对比才能感受到 Docker Compose 的好处????。关于 Redis Cluster 集群更多的内容请阅读《最通俗易懂的 Redis 架构模式详解》。环境本文所原创 2020-09-05 09:58:30 · 1959 阅读 · 8 评论 -
Docker 网络模式详解及容器间网络通信
当项目大规模使用 Docker 时,容器通信的问题也就产生了。要解决容器通信问题,必须先了解很多关于网络的知识。Docker 作为目前最火的轻量级容器技术,有很多令人称道的功能,如 Docker 的镜像管理。然而,Docker 同样有着很多不完善的地方,网络方面就是 Docker 比较薄弱的部分。因此,我们有必要深入了解 Docker 的网络知识,以满足更高的网络需求。默认网络安装 Docker 以后,会默认创建三种网络,可以通过 docker network ls 查看。[root@localh原创 2020-09-03 10:53:23 · 1022 阅读 · 0 评论 -
Docker 私有镜像仓库的搭建及认证
DockerHub 为我们提供了很多官方镜像和个人上传的镜像,我们可以下载机构或个人提供的镜像,也可以上传我们自己的本地镜像,但缺点是:由于网络的原因,从 DockerHub 下载和上传镜像速度可能会比较慢;在生产上使用的 Docker 镜像可能包含我们的代码、配置信息等,不想被外部人员获取,只允许内网的开发人员下载。为了解决以上问题,Docker 官方提供了一个叫做 registry 的镜像用于搭建本地私有仓库使用。在内部网络搭建的 Docker 私有仓库可以使内网人员下载、上传都非常快速,不原创 2020-09-02 10:09:06 · 869 阅读 · 0 评论 -
DockerHub 镜像仓库的使用
之前我们使用的镜像都是从 DockerHub 公共仓库拉取的,我们也学习了如何制作自己的镜像,但是通过 tar 包的方式实现镜像的备份恢复迁移对于团队协作开发并不是特别友好,我们也可以将镜像推送至 DockerHub 仓库方便使用。温馨提示:如果构建的镜像内携带了项目数据,建议还是使用私有仓库比较好。注册账号官网:https://hub.docker.com/登录账号通过 docker login 命令输入账号密码登录 DockerHub。推送镜像至仓库为了方便测试,我们将 h原创 2020-09-01 08:55:20 · 1413 阅读 · 0 评论 -
Docker 镜像的备份恢复迁移
在大家已经学会了如何构建镜像以后,为了备份该镜像,我们有以下几个选择:我们可以将指定镜像保存成 tar 归档文件,需要使用时将 tar 包恢复为镜像即可;登录 DockerHub 注册中心,将镜像推送至 DockerHub 仓库方便使用;搭建私有镜像仓库,将镜像推送至私有镜像仓库方便使用。接下来我们通过 tar 归档文件的方式实现镜像的备份恢复迁移。镜像备份使用 docker save 将指定镜像保存成 tar 归档文件。docker save [OPTIONS] IMAGE [IMAGE原创 2020-08-31 11:03:46 · 440 阅读 · 0 评论 -
Docker 镜像构建之 docker commit
我们可以通过公共仓库拉取镜像使用,但是,有些时候公共仓库拉取的镜像并不符合我们的需求。尽管已经从繁琐的部署工作中解放出来,但是实际开发时,我们可能希望镜像包含整个项目的完整环境,在其他机器上拉取打包完整的镜像,直接运行即可。Docker 支持自己构建镜像,还支持将自己构建的镜像上传至公共仓库,镜像构建可以通过以下两种方式来实现:docker commit:从容器创建一个新的镜像;docker build:配合 Dockerfile 文件创建镜像。下面我们先通过 docker commit 来实原创 2020-08-27 12:11:03 · 659 阅读 · 0 评论 -
Docker 之常见应用部署
本文教大家如何将常见的应用使用 Docker 进行部署,巩固大家 Docker 命令的学习,下文教大家如何构建属于我们自己的 Docker 镜像。Tomcat拉取镜像。docker pull tomcat创建容器。docker run -di --name tomcat -p 8080:8080 tomcat进入容器。docker exec -it tomcat /bin/bash查看 webapps 目录下是否有 ROOT 项目,我们熟悉的 Tomcat 猫页面一般就在这个项目中原创 2020-08-26 08:34:47 · 388 阅读 · 2 评论 -
Docker 最常用的镜像命令和容器命令
本文列出了 Docker 使用过程中最常用的镜像命令和容器命令,以及教大家如何操作容器数据卷,实现容器数据的备份。熟练练习这些命令以后,再来一些简单的应用部署练习,大家就可以学习 Docker 的镜像构建、备份恢复迁移、镜像仓库、网络、集群等等更多的内容。镜像相关命令官方文档:https://docs.docker.com/reference/查看镜像[root@localhost ~]# docker imagesREPOSITORY TAG原创 2020-08-25 09:36:01 · 508 阅读 · 0 评论 -
Docker 安装及配置镜像加速
Docker 版本随着 Docker 的飞速发展,企业级功能的上线,更好的服务意味着需要支付一定的费用,目前 Docker 被分为两个版本:community-edition 社区版enterprise-edition 企业版Docker 企业版(EE)专为企业开发和 IT 团队设计,可在大规模生产中构建,运送和运行关键业务应用程序。Docker EE 集成,认证和支持,为企业提供业界最安全的容器平台,实现所有应用程序的现代化。作为一个以应用为中心的平台,Docker EE 旨在加速和保护整个原创 2020-08-24 08:38:53 · 516 阅读 · 0 评论 -
Docker 架构及工作原理
通过下图可以得知,Docker 在运行时分为 Docker 引擎(服务端守护进程) 和 客户端工具,我们日常使用各种 docker 命令,其实就是在使用 客户端工具 与 Docker 引擎 进行交互。Client 客户端Docker 是一个客户端-服务器(C/S)架构程序。Docker 客户端只需要向 Docker 服务器或者守护进程发出请求,服务器或者守护进程将完成所有工作并返回结果。Docker 提供了一个命令行工具 Docker 以及一整套 RESTful API。你可以在同一台宿主机上运行原创 2020-08-21 09:44:11 · 1432 阅读 · 0 评论 -
Docker 的前世今生
虚拟化要解释清楚 Docker,首先要解释清楚容器(Container)的概念。要解释容器的话,就需要从操作系统说起。操作系统太底层,细说的话一两本书都说不清楚。这里就一句话来总结一下:操作系统(Operating System,简称OS)是管理计算机硬件与软件资源的计算机程序,并且为软件运行提供通用服务的系统软件。随着硬件的性能提升,软件种类的丰富,有两种情况变得很常见:硬件性能过剩——很多计算机的硬件配置,往往会有大量时间处于硬件资源闲置的状态。例如一般家用电脑,已经是四核、六核的配置了,除了原创 2020-08-20 08:10:33 · 1877 阅读 · 4 评论