![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
docker
文章平均质量分 71
早川语
今天又是元气满满的一天~
展开
-
K8S—暴露端口与代理方式
暴露端口的方式一:clusterIP此类型会提供一个集群内部的虚拟IP(与pod不在同一网段),以供集群内部的pod之间通信使用。clusterIP也是kubernetes service的默认类型主要需要以下几个组件的协同工作apiservice:在创建service时,apiserver接收到请求以后将数据存储到etcd中。kube-proxy:k8s的每个节点中都有该进程,负责实现service功能,这个进程负责感知service,pod的变化,并将变化的信息写入本地的iptables中i转载 2021-12-27 13:16:54 · 1031 阅读 · 0 评论 -
K8S—五种控制器及使用
k8s的控制器类型Kubernetes中内建了很多controller(控制器),这些相当于一个状态机,用来控制Pod的具体状态和行为Deployment:适合无状态的服务部署StatefullSet:适合有状态的服务部署DaemonSet:一次部署,所有的node节点都会部署,例如一些典型的应用场景:运行集群存储 daemon,例如在每个Node上运行 glusterd、ceph在每个Node上运行日志收集 daemon,例如 fluentd、 logstash在每个Node上运行监控原创 2021-12-26 23:17:25 · 1744 阅读 · 0 评论 -
K8S—通过资源定义方式创建一个haproxy的pod进行负载均衡
[root@master ~]# cat DockerfileFROM busybox RUN mkdir /data && echo '1' > /data/index.htmlCMD ["/bin/httpd","-f","-h","/data"]制作1的镜像[root@master ~]# docker build -t 1163582076/http:v0.1 .Sending build context to Docker daemon 3.518MB原创 2021-12-23 02:22:23 · 636 阅读 · 0 评论 -
Kubernetes—基础与命令(详解篇)
Pod控制器基本概念:Pod是kubernetes的最小单元,自主式创建的pod删除就没有了,但是通过资源控制器创建的pod如果删除还会重建。pod控制器就是用于实现代替我们去管理pod的中间层,并帮我们确保每一个pod资源处于我们所定义或者所期望的目标状态,pod资源出现故障首先要重启容器,如果一直重启有问题的话会基于某种策略重新编排。自动适应期望pod数量。Kubernetes中内建了很多controller(控制器),这些相当于⼀个状态机,⽤来控制Pod的具体状态和⾏为。Pod控制器有很多种类型原创 2021-12-19 20:53:23 · 1351 阅读 · 0 评论 -
Kubernetes(简称k8s)—快速部署
快速部署K8S集群安装docker创建一个master节点将一个node节点加入到当前集群中部署容器网络(CNI)部署Web UI (Dashboard)部署的网络组件有上面作用呢?部署网络组件的目的是打通Pod到Pod之间网络、Node与Pod之间网络,从而集群中数据包可以任意传输,形成了一个扁平化网络。主流网络组件有:Flannel、Calico等而所谓的CNl ( Container Network Interface,容器网络接口)就是k8s对接这些第三方网络组件的接口。查看原创 2021-12-18 00:57:58 · 857 阅读 · 0 评论 -
Kubernetes—入门
Kubernetes(简称k8s)是Google在2014年6月开源的一个容器集群管理系统,使用Go语言开发,用于管理云平台中多个主机上的容器化的应用,Kubernetes的目标是让部署容器化的应用简单并且高效,Kubernetes提供了资源调度、部署管理、服务发现、扩容缩容、监控,维护等一整套功能。,努力成为跨主机集群的自动部署、扩展以及运行应用程序容器的平台。 它支持一系列容器工具, 包括Docker等。...原创 2021-12-16 21:59:45 · 1040 阅读 · 0 评论 -
harbor
harbor无论是使用Docker-distribution去自建仓库,还是通过官方镜像跑容器的方式去自建仓库,通过前面的演示我们可以发现其是非常的简陋的,还不如直接使用官方的Docker Hub去管理镜像来得方便,至少官方的Docker Hub能够通过web界面来管理镜像,还能在web界面执行搜索,还能基于Dockerfile利用Webhooks和Automated Builds实现自动构建镜像的功能,用户不需要在本地执行docker build,而是把所有build上下文的文件作为一个仓库推送到git原创 2021-12-15 18:44:10 · 912 阅读 · 0 评论 -
podman—网络设置、开机自启及加速器配置
podman容器的开机自启:实例:[root@localhost ~]# podman create --name nginx nginx:latest84820a649b74774dc429bd80a5d00b196704a632b6bf7aaa961a293b51b62799[root@localhost ~]# podman ps -aCONTAINER ID IMAGE COMMAND CREATED原创 2021-12-14 19:30:29 · 3328 阅读 · 0 评论 -
podman—入门篇
docker与podman区别:podman是一个容器工具,不使用守护进程来开发、管理和运行 OCI 容器,因此它必须在 Linux OS 上运行(可以由root用户运行,也可以由非特权用户运行)是开源的容器管理工具docker是一个容器引擎,Docker 需要在你的系统上运行一个守护进程,是以 root 身份在你的系统上运行该守护程序。什么是Podman?简而言之:alias docker = podmanpodmanPodman是一个开源项目,可在大多数Linux平台上使用并开源在GitH原创 2021-12-13 19:29:06 · 3009 阅读 · 0 评论 -
docker—Dockerfile使用alpine系统制作haproxy镜像
结构:[root@localhost haproxyalpine]# lsDockerfile files[root@localhost haproxyalpine]# cat Dockerfile FROM alpineLABEL MAINTAINER "116358@qq.com"ENV version 2.4.0ADD files/haproxy-${version}.tar.gz /tmp/ADD files/install.sh /tmp/ADD files/hapr原创 2021-12-13 11:59:00 · 854 阅读 · 0 评论 -
docker—使用dockerfile编写haproxy
dockerfile常用指令:FROM:指定base镜像;如果本地有从本地调取,如果本地不存在会从远程仓库下载。MAINTAINER:设置镜像的作者,比如用户邮箱等。COPY:把文件从build context复制到镜像。支持两种形式:COPY src dest和COPY ["src","dest"] src必须指定build context中的文件或目录。ADD:用法和COPY类似,不同的是src可以是归档压缩文件,文件会被自动解压到dest, 也可以自动下载URL并拷贝到镜像:原创 2021-12-10 23:20:18 · 1173 阅读 · 0 评论 -
docker—创建nginx容器
创建nginx容器需要同时提供配置文件和网页文件,是接着创建一个网页博客做的,不知道的话看下上篇博客实例:[root@localhost ~]# docker run -it --name html -v /var/www/html/:/usr/share/nginx/html busybox/ # exit[root@localhost ~]# docker ps -aCONTAINER ID IMAGE COMMAND CREATED STATUS原创 2021-12-08 00:46:36 · 2167 阅读 · 0 评论 -
Dockerfile
Dockerfile基础结构Dockerfile 是一个文本格式的配置文件,用户可以使用 Dockerfile 快速创建自定义镜像。Dockerfile 由一行行命令语句组成,并且支持以 # 开头的注释行。Docker分为四部分:基础镜像信息维护者信息镜像操作指令(做镜像的时候需要做什么事)容器启动时默认要执行的指令# This dockerfile uses the ubuntu image# VERSION 2 - EDITION 1# Author: seancheng 作者原创 2021-12-07 19:01:44 · 511 阅读 · 0 评论 -
部署个网站
用一个存储卷部署一个网站原创 2021-12-07 13:07:43 · 744 阅读 · 0 评论 -
docker存储卷
docker存储卷COW机制Docker镜像由多个只读层叠加而成,启动容器时,Docker会加载只读镜像层并在镜像栈顶部添加一个读写层。(读写层一开始是没有的,需要自己创建)如果运行中的容器修改了现有的一个已经存在的文件,那么该文件将会从读写层下面的只读层复制到读写层,该文件的只读版本依然存在,只是已经被读写层中该文件的副本所隐藏,这就是“写时复制(COW)”机制。对于这种方式来说,我们去访问一个文件,修改和删除等一类的操作,其效率会非常的低,因为隔着很多层镜像。(镜像层是删不掉的,D其实是隐藏)原创 2021-12-07 12:07:57 · 134 阅读 · 0 评论 -
docker容器网络配置
Linux内核实现名称空间的创建ip netns(网络名称空间)命令可以借助ip netns命令来完成对 Network Namespace 的各种操作。ip netns命令来自于iproute安装包一般系统会默认安装,如果没有的话,请自行安装。ip netns 命令完成对Network Namespace 的相关操作,p netns help 查看命令帮助信息:[root@localhost ~]# rpm -qa|grep iprouteiproute-5.9.0-1.el8.x86_64原创 2021-12-05 23:42:31 · 273 阅读 · 0 评论 -
通过docker搭建lnmp
接下来做个实验:需要在网络模式的基础下,基于容器的方式制作一个nginx、mysql、php镜像(需要在centos编译安装的前提下),通过这些镜像启动成容器后能够访问到php测试页面提醒:如果中途需要关闭终端,可以执行以下两个命令暂停容器:docker pause +容器恢复暂停:docker unpause+容器实例:部署nginx镜像第一步:拉取镜像[root@localhost ~]# docker pull centosUsing default tag: latestla原创 2021-12-04 00:32:00 · 235 阅读 · 0 评论 -
Docker容器虚拟化网络
docker容器虚拟化虚拟化网络所有东西都是虚拟的,Network Namespace(网络隔离空间) 是 Linux 内核提供的功能,是实现网络虚拟化的重要功能,它能创建多个隔离的网络空间,它们有独自网络栈信息。不管是虚拟机还是容器,运行的时候仿佛自己都在独立的网络中。而且不同Network Namespace的资源相互不可见,彼此之间无法通信。网络隔离空间是看不见摸不着的,隔离空间,互不相干,类似于第三空间(假如我们的物理机有4块物理网卡,我们要创建4个名称空间,而这些设备是可以单独关联至某个单原创 2021-12-03 22:15:01 · 547 阅读 · 0 评论 -
docker镜像管理基础
镜像管理基础镜像的概念镜像可以理解为应用程序的集装箱,而docker用来装卸集装箱。docker镜像含有启动容器所需要的文件系统及其内容,因此,其用于创建并启动容器。docker镜像采用分层构建机制,最底层为bootfs,其上为rootfsbootfs:用于系统引导的文件系统,包括bootloader和kernel,容器启动完成后会被卸载以节约内存资源rootfs:位于bootfs之上,表现为docker容器的根文件系统 传统模式中,系统启动之时,内核挂载rootfs会首先将其挂载为“只读原创 2021-12-02 23:30:41 · 531 阅读 · 0 评论 -
docker基础用法
什么是dockerdocker是一个用Go语言实现的开源项目,可以让我们方便的创建和使用容器,docker将程序以及程序所有的依赖都打包到docker container,这样你的程序可以在任何环境都会有一致的表现,这里程序运行的依赖也就是容器就好比集装箱,容器所处的操作系统环境就好比货船或港口,程序的表现只和集装箱有关系(容器),和集装箱放在哪个货船或者哪个港口(操作系统)没有关系。docker中的容器:lxc→libcontainer→runCOCI&OCFOCIOpen Cont原创 2021-12-02 00:40:43 · 820 阅读 · 0 评论