Docker
Docker 的构想是要实现通过对应用的封装(Packaging)、分发(Distribution)、部署(Deployment)、运行(Runtime)生命周期进行管理,达到应用组件级别的“一次封装,到处运行”。
协享科技
拼命向上生长,是你年轻时唯一重要的事。
展开
-
Docker 起源
2013~2014年,以 Cloud Foundry 为代表的 PaaS 项目逐渐完成了教育用户和开拓市场的艰巨任务,也正是在这个概念逐渐落地的过程中,应用“打包”困难这个问题成了整个后端技术圈子的一个心病。Docker 项目的出现则为这个根本性的问题提供了一个近乎完美的解决方案。这正是 Docker 项目刚刚开源不就就能够带领一家原本默默无闻的PaaS 创业公司脱颖而出并迅速占领所有云计算领域头条的技术原因。原创 2022-04-07 23:13:59 · 1069 阅读 · 2 评论 -
把 java 项目打包成镜像推到 k8s 上
教你三分钟把 java 项目打包成镜像推到 k8s 上原创 2022-03-29 11:33:49 · 2047 阅读 · 0 评论 -
把 vue 项目打包成镜像推到 k8s 上
教你三分钟 把 vue 项目打包成镜像推到 k8s 上原创 2022-03-28 22:10:36 · 3475 阅读 · 0 评论 -
k8s 使用 Service 控制器对外暴露服务
Service 引入主要是解决 Pod 的动态变化,提供统一访问入口:防止 Pod 失联,准备找到提供同一个服务的 Pod (服务发现);并定义一组 Pod 的访问策略 (负载均衡)。原创 2022-03-27 16:23:14 · 2658 阅读 · 0 评论 -
k8s 之管理 Pod 常用命令
Pod 是一个逻辑抽象概念,Kubernetes 创建和管理的最小单元,一个 Pod 由一个容器或多个容器组成。原创 2022-03-27 15:03:31 · 5706 阅读 · 0 评论 -
k8s 之 Deployment 介绍与使用流程
Deployment 是最常用的 k8S 工作负载控制器(Workload Controllers),是 k8s 的一个抽象概念,用于更高级层次对象,部署和管理 Pod。Deployment 的主要功能:管理 Pod ,即应用程序;具有上线部署、副本设定、滚动升级、回滚等功能。原创 2022-03-27 13:03:05 · 4547 阅读 · 0 评论 -
k8s 使用 yaml 进行服务编排
K8s 是一个容器编排引擎,使用 YAML 文件编排要部署应用,因此在学习之前,应该了解 YAML 语法格式。原创 2022-03-26 20:58:29 · 1887 阅读 · 0 评论 -
在 Kubernetes 部署应用程序流程
在 Kubernetes 部署应用程序流程示例 —— nginx原创 2022-03-26 19:15:17 · 1138 阅读 · 0 评论 -
部署 kubernetes-dashboard
部署 kubernetes 的可视化面板原创 2022-03-26 16:57:16 · 577 阅读 · 0 评论 -
kubeadm、kubectl 常用操作命令
kubeadm、kubectl 常用操作命令:列出组件、查看节点、查看集群状态、查看部署状态、查看命名空间下映射的端口、查看日志、列出token、创建token 用来加入集群、创建一个 Master 节点、将一个 Node 节点加入到当前集群中原创 2022-03-24 09:32:42 · 724 阅读 · 0 评论 -
使用 kubeadm 部署 k8s 集群之 master 篇
创建一个 Master 节点kubeadm init \--apiserver-advertise-address=192.168.0.215 \--image-repository registry.aliyuncs.com/google_containers \--kubernetes-version v1.23.0 \--service-cidr=10.96.0.0/12 \--pod-network-cidr=10.244.0.0/16 \--ignore-prefl.原创 2022-03-23 14:28:30 · 574 阅读 · 0 评论 -
安装 kubeadm、kubelet、kubectl
国内环境使用kubeadm安装部署kubernetes原创 2022-03-20 21:02:05 · 2895 阅读 · 0 评论 -
在 Linux 系统中安装并设置 kubectl
kubectl 版本和集群版本之间的差异必须在一个小版本号内。 例如:v1.23 版本的客户端能与 v1.22、 v1.23 和 v1.24 版本的控制面通信。 用最新兼容版的 kubectl 有助于避免不可预见的问题。原创 2022-03-20 18:46:51 · 2376 阅读 · 0 评论 -
Kubernetes 集群架构与组件
Kubernetes 是 Google 在 2014 年开源的一个容器集群管理系统,Kubernetes 简称 K8S。Kubernetes 用于容器化应用程序的部署,扩展和管理,目标是让部署容器化应用简单高效。原创 2022-03-17 09:05:36 · 579 阅读 · 2 评论 -
docker-compose.yml 使用 deploy 对内存进行限制
如果容器资源限制后,无法正常访问,有可能是服务启动的资源不够导致的。我们可以通过 docker stats 查看容器使用资源的百分比,这样可以判断限制的资源是否合理。原创 2022-03-16 19:44:30 · 3718 阅读 · 0 评论 -
Docker 三剑客之 Swarm
作为容器集群管理器,Swarm 最大的优势之一就是原生支持 Docker API,给用户使用带来极大的便利。各种基于标准 API 的工具比如 Compose、Docker SDK、各种管理软件,甚至 Docker 本身等都可以很容易的与 Swarm 进行集成。这大大方便了用户将原先基于单节点的系统移植到 Swarm 上。同时 Swarm 内置了对 Docker 网络插件的支持,用户可以很容易地部署跨主机的容器集群服务。原创 2022-03-13 17:53:11 · 1117 阅读 · 0 评论 -
Docker 三剑客之 Compose
Compose 的默认管理对象是服务栈,通过子命令对栈中的多个服务进行便捷的生命周期管理。原创 2022-03-13 16:59:02 · 1680 阅读 · 0 评论 -
Docker 三剑客之 Machine
Docker Machine 是 Docker 官方三剑客项目之一,负责使用 Docker 容器的第一步:在多种平台上快速安装和维护 Docker 运行环境。它支持多种平台,让用户可以在很短时间内在本地或云环境中搭建一套 Docker 主机集群。原创 2022-03-13 14:03:44 · 792 阅读 · 0 评论 -
Docker 安装和使用 Etcd 键值数据库
Etcd —— 高可用的键值数据库。原创 2022-03-09 09:31:36 · 1315 阅读 · 3 评论 -
Docker 网络命令
创建网络概述create 命令用于创建一个新的容器网络。Docker 内置了 bridge(默认使用)和 overlay 两种驱动,分别支持主机和多主机场景。Docker 服务在启动后,会默认创建一个 bridge 类型的网桥 bridge。不同网络之间默认相互隔离。命令docker network create chiyi_net支持参数:-attachable[=false]:支持手动容器挂载-aux-address=map[]:辅助的 IP 地址-config-原创 2022-03-08 08:30:48 · 1022 阅读 · 0 评论 -
Docker 容器网络模型
libnetwork 中容器网络模型 (Container Networking Model, CNM)十分简洁和抽象,可以让其上层使用网络功能的容器最大程度地忽略底层具体实现。容器网络模型包括三种基本元素:1. 沙盒(Sandbox):代表一个容器(准确地说,是其网络命名空间);2. 接入点(Endpoint):代表网络上可以挂载容器的接口,会分配IP地址;3. 网络(Network):可以连通多个接入点的一个子网。可见,对于使用 CNM 的容器管理系统来说,具体底下网络如何实原创 2022-03-07 21:56:12 · 782 阅读 · 0 评论 -
Docker 网络相关参数
下面命令选项只有在 Docker 服务启动的时候才能配置,修改后重启生效,包括:指定容器挂载的网桥-b BRIDGE or --bridge=BRIDGE定制 dokcer0 的掩码--bip=CIDRDocker 服务端接收命令的通道-H SOCKET... or --host=SOCKET...是否支持容器之间进行通信--icc=true|false启用 net.ipv4.ip_forward,即打开转发功能--ip-forward=tr原创 2022-03-06 16:10:25 · 901 阅读 · 0 评论 -
Docker 的基本架构
服务端Docker 服务端一般在宿主机后台运行,dockerd 作为服务端接受来自客户的请求,并通过 containerd 具体处理与容器相关的请求,包括创建、运行、删除容器等。服务端主要包括四个组件:1. dockerd:为客户端提供 RESTful API,响应来自客户端的请求,采用模块化的架构,通过专门的 Engine 模块来分发管理各个来自客户端的任务。可以单独升级;2. docker-proxy:是 dockerd 的子进程,当需要进行容器端口映射时, docker-proxy原创 2022-03-06 15:44:02 · 2469 阅读 · 0 评论 -
redis、mongodb、elasticsearch 的 docker-compose.yml 配置
介绍如何通过 docker 对 redis、mongodb、elasticsearch 进行安装和配置。原创 2022-03-05 10:46:00 · 2528 阅读 · 0 评论 -
docker 安装 Oracle Database XE
Oracle Database 11g 快捷版(Oracle Database XE)是一款给予 Oracle Database 11g 第 2 版代码库的小型入门级数据库原创 2022-03-05 10:39:17 · 220 阅读 · 0 评论 -
docker 安装 mysql 8.0
MySQL8的密码验证方式默认是 caching_sha2_password,但是很多的连接工具还不支持该方式,就需要手动设置下mysql的密码认证方式为以前的 mysql_native_password 方式。原创 2022-03-05 10:28:59 · 229 阅读 · 0 评论 -
docker 安装 mysql 5.7
Mysql 是全球最流行的开源关系型数据库之一,由于其具有高性能、成熟可靠、高适应性、易用性而得到广泛应用。原创 2022-03-05 10:20:14 · 123 阅读 · 0 评论 -
Apache、Nginx、Tomcat、Java8、openjdk11、Jetty、Jenkins 和 gitlab 的 docker-compose.yml 配置
Apache、Nginx、Tomcat、Java8、openjdk11、Jetty、Jenkins 和 gitlab 的 docker-compose.yml 配置原创 2022-03-04 13:50:44 · 2214 阅读 · 2 评论 -
为镜像添加 SSH 服务(方法二)
基于 Dockerfile 创建一个带有 SSH 的镜像。原创 2022-03-03 21:33:39 · 300 阅读 · 0 评论 -
为镜像添加 SSH 服务(方法一)
基于 docker commit 命令创建带有 SSH 服务的镜像。原创 2022-03-03 21:28:54 · 824 阅读 · 0 评论 -
【Docker 实战案例】操作系统
使用 Docker,只需要一个命令就能快速获取一个 Linux发行版镜像,这是以往各种虚拟化技术都难以实现的。这些镜像一般都很精简,但是可以支持完整 Linux系统的大部分功能。BusyBoxBusyBox 是一个集成了一百多个最常见 Linux 命令(如 cat、echo、grep、mount、telnet等)的精简工具箱,它只有不到 2 MB大小,被誉为"Linux" 系统的瑞士军刀。docker search busyboxdocker pull busybox:latest...原创 2022-03-03 09:54:55 · 2141 阅读 · 0 评论 -
端口映射与容器互联
在启动容器的时候,如果不指定对应参数,在容器外部是无法通过网络来访问容器内的网络应用和服务的。当容器中运行一些网络应用,要让外部访问这些应用时。可以通过 -P 或 -p 参数来指定端口映射。当使用 -P (大写的) 标记时,Docker 会随机映射一个 49000~49900 的端口到内部容器开放的网络端口。当使用 -p (小写的)则可以指定要映射的端口,并且,在一个指定端口上只可以绑定一个容器。常用命令从端口映射实现容器访问docker run --name web -d -p原创 2022-03-02 14:15:15 · 485 阅读 · 0 评论 -
Docker 数据管理
在生产环境中使用 Docker ,往往需要对数据进行持久化,或者需要在多个容器之间进行数据共享,这必然涉及容器的数据管理操作。容器中的管理数据主要有两种方式:1. 数据卷(Data Volumes):容器内数据直接映射到本地主机环境;2. 数据卷容器(Data Volume Cotainers):使用特定容器维护数据卷。数据卷(Data Volumes) 是一个可供容器使用的特殊目录,它将主机操作系统目录直接映射进容器,类似于 Linux 的 mount 行为。数据卷可以提供很多原创 2022-03-02 09:18:37 · 374 阅读 · 0 评论 -
访问 Docker 仓库
仓库(Repository)是集中存放镜像的地方,又分公共仓库和私有仓库。原创 2022-03-01 19:22:23 · 826 阅读 · 0 评论 -
如何使用 Docker 容器?
容器時 Docker 的另一个核心概念。简单来说,容器是镜像的一个运行实例。所不同的是,镜像是静态的只读文件,而容器带有运行时的可写文件层,同时,容器中的应用进程处于运行状态。如果认为虚拟机是模拟运行的一整套操作系统(包括内核、应用运行态环境和其他系统环境)和泡在上面的应用。那么 Docker 容器就是独立运行的一个(或一组)应用,以及它们必需的运行环境。原创 2022-03-01 10:10:30 · 153 阅读 · 0 评论 -
如何使用 Docker 镜像?
镜像是 Docker 三大核心概念中最重要的,自 Docker 诞生之日起镜像就是社区最为热门的关键词。原创 2022-02-28 09:48:25 · 430 阅读 · 0 评论 -
mac、windows、centos、ubuntu 如何安装使用 docker 的?
介绍在各个操作系统 (mac、windows、centos、ubuntu )安装使用 docker 的方法。原创 2022-02-27 15:21:50 · 481 阅读 · 0 评论 -
Docker 的三大核心概念
Docker 大部分的操作都围绕这它的三大核心概念:镜像、容器和仓库。因此,准确把握这三大核心概念对于掌握 Docker 技术尤为重要。原创 2022-02-26 20:23:46 · 2032 阅读 · 0 评论 -
为什么要使用Docker ?
在云时代,开发者创建的应用必须是“任何时间任何地点”可获取的。因此,开发者们需要一种新型的创建分布式应用程序的方式,快速分发和部署,而这正是 Docker 所能够提供的最大优势。原创 2022-02-25 22:30:37 · 1005 阅读 · 0 评论