JOBCHER BLOG
docker image镜像上传
docker image 镜像上传 登入 docker hub,在https://hub.docker.com上注册你的账号。 1docker login 2username:#输入你的用户名 3password:#输入你的密码 上传镜像 1docker tag nginx:hugo sjtfreaks/hogo-nginx:v1 2docker push sjtfreaks/hogo-nginx:v1
JOBCHER BLOG
docker进阶使用
docker 进阶使用 dockerfile 和 docker compose 的配置 Dockerfile 使用 Dockerfile 是一个用来构建镜像的文本文件,文本内容包含了一条条构建镜像所需的指令和说明。 例子: 1 FROM nginx 2 RUN echo '这是一个本地构建的nginx镜像' > /usr/share/nginx/html/index.html 保存 Dockerfile 文件并在本地路径执行 1 docker build -t nginx:v1-test . 2 docker run -name docker run --name nginx-test -d -p 8080:80 nginx:v1-test 浏览 nginx 页面确认更新内容 curl 127.0.0.1:8080 输出: 这是一个本地构建的nginx镜像 Docker 命令详解 COPY 复制指令,从上下文目录中复制文件或者目录到容器里指定路径。 1 COPY [--chown=<user>:<group>] <源路径1>... <目标路径> 2 COPY [--chown=<user>:<group>] ["<源路径1>",... "<目标路径>"] <源路径>:源文件或者源目录,这里可以是通配符表达式,其通配符规则要满足 Go 的 filepath.Match 规则。例如: 1 COPY hom* /mydir/ 2 COPY hom?
JOBCHER BLOG
Kubernetes k8s 组件
Kubernetes k8s 组件 控制平面组件(Control Plane Components) 控制平面的组件对集群做出全局决策(比如调度),以及检测和响应集群事件(例如,当不满足部署的 replicas 字段时,启动新的 pod)。 kube-apiserver API 服务器是 Kubernetes 控制面的组件, 该组件公开了 Kubernetes API。 API 服务器是 Kubernetes 控制面的前端。 etcd etcd 是兼具一致性和高可用性的键值数据库,可以作为保存 Kubernetes 所有集群数据的后台数据库。 kube-scheduler 控制平面组件,负责监视新创建的、未指定运行节点(node)的 Pods,选择节点让 Pod 在上面运行。 kube-controller-manager 运行控制器进程的控制平面组件。 cloud-controller-manager 云控制器管理器是指嵌入特定云的控制逻辑的 控制平面组件。 云控制器管理器使得你可以将你的集群连接到云提供商的 API 之上, 并将与该云平台交互的组件同与你的集群交互的组件分离开来。 Node 组件 节点组件在每个节点上运行,维护运行的 Pod 并提供 Kubernetes 运行环境。 kubelet 一个在集群中每个节点(node)上运行的代理。 它保证容器(containers)都 运行在 Pod 中。 kube-proxy kube-proxy 是集群中每个节点上运行的网络代理, 实现 Kubernetes 服务(Service) 概念的一部分。 容器运行时(Container Runtime) 容器运行环境是负责运行容器的软件。 Kubernetes 支持多个容器运行环境: Docker、 containerd、CRI-O 以及任何实现 Kubernetes CRI (容器运行环境接口)。
JOBCHER BLOG
2021年第50周记
2021 年第 50 周周记 这周完成了以下任务 搭建 hugo 博客 使用 docker 封装了 blog 搭建 k3s 环境 计划: 学习 k8s 总结:没啥好总结,刚开始写周记,就随便写一点吧 欢迎关注我的博客www.jobcher.com
JOBCHER BLOG
nginx 汇总
nginx 汇总 各类 nginx 问题汇总 安装 nginx 1 #centos 2 yum install nginx 3 #ubuntu 4 apt install nginx http 代理 正向代理 1 server { 2 listen 80; 3 server_name www.nbtyfood.com; 4 5 location / { 6 proxy_pass http://127.0.0.1:8080; 7 } 8 } 反向代理 负载均衡 1 upstream mysvr { 2 server 192.168.10.121:3333; 3 server 192.168.10.122:3333; 4 } 5 server { 6 .... 7 location ~*^.+$ { 8 proxy_pass http://mysvr; #请求转向mysvr 定义的服务器列表 9 } 10 } 热备
JOBCHER BLOG
TCP/IP详解
TCP/IP 协议 什么是 TCP/IP 协议 OSI 七层架构 TCP/IP 四层模型 协议 应用层 HTTP、SMTP、SNMP、FTP、Telnet、SIP、SSH、NFS 表示层 应用层 XDR、ASN.1、NCP、TLS、ASCII 会话层 sockets、SOCKS、PAP 传输层 传输层 TCP、UDP、RTP、SCTP 网络层 网络互连层 IP、ICMP、IPX、BGP、OSPF、RIP、IGRP、EIGRP 数据链路层 网络访问(链接)层 以太网、令牌环、HDLC、帧中继、ISDN、ATM、IEEE 802.11 物理层 调制解调器、无线电、光纤 报文结构 TCP 报文段首部格式 源端口和目的端口:各占 2 个字节,分别写入源端口和目的端口。IP 地址 + 端口号就可以确定一个进程地址 序号/序列号(Sequense Number,SN):在一个 TCP 连接中传送的字节流中的每一个字节都按顺序编号。该字段表示本报文段所发送的数据的第一个字节的序号。初始序号称为 Init Sequense Number, ISN(序号/序列号这个字段很重要,大家留个印象,下文会详细讲解) 例如,一报文段的序号是 101,共有 100 字节的数据。这就表明:本报文段的数据的第一个字节的序号是 101,最后一个字节的序号是 200。显然,下一个报文段的数据序号应当从 201 开始,即下一个报文段的序号字段值应为 201。 确认号 ack:期望收到对方下一个报文段的第一个数据字节的序号。若确认号为 N,则表明:到序号 N-1 为止的所有数据都已正确收到。 数据偏移(首部长度):它指出 TCP 报文段的数据起始处距离 TCP 报文段的起始处有多远。这个字段实际上是指出 TCP 报文段的首部长度。 保留:占 6 位,应置为 0,保留为今后使用。
JOBCHER BLOG
自建服务器内网穿透
内网穿透 文章中使用的内网穿透前提是必须具有公网 IP 的云服务器,不符合条件的同学可以跳过了。 nps 内网穿透 nps 是一款轻量级、高性能、功能强大的内网穿透代理服务器。 在公网服务器上安装 nps sever 端 1 wget https://github.com/ehang-io/nps/releases/download/v0.26.10/linux_amd64_server.tar.gz 2 tar -zxvf linux_amd64_server.tar.gz 3 sudo ./nps install 4 sudo nps start 在控制端安装 npc client 端 1 wget https://github.com/ehang-io/nps/releases/download/v0.26.10/linux_amd64_client.tar.gz 2 tar -zxvf linux_amd64_client.tar.gz 3 sudo ./npc -server=ip:port -vkey=web界面中显示的密钥 4 sudo npc start npc 安装完成可以进入 web 页面穿透端口和域名 http://localhost:8080 frps 内网穿透 frps 相对于 nps 的劣势是有断流的风险 frps 相对于 nps 的优势是对于高流量的媒体服务能够提供更可靠的支持 安装 frps 1 wget https://code.aliyun.com/MvsCode/frps-onekey/raw/master/install-frps.sh -O ./install-frps.sh 2 chmod 700 .
JOBCHER BLOG
树莓派搭建k3s
树莓派安装 k3s 1.安装 k3s 控制节点 1 curl -sfL https://get.k3s.io | sh - 2 cat /var/lib/rancher/k3s/server/node-token 工作节点 1 curl -sfL https://get.k3s.io | K3S_URL=https://myserver:6443 K3S_TOKEN=mynodetoken sh - 树莓派特别要注意一个坑,就是关于内存的问题这个之后再讲 1 k3s kubectl get nodes 2 #显示正确的节点表示完成 卸载 k3s 1 #server 节点 2 /usr/local/bin/k3s-uninstall.sh 3 #agent 节点 4 /usr/local/bin/k3s-agent-uninstall.sh 2.安装 dashboard k3s 面板 部署 Kubernetes 仪表盘 1 GITHUB_URL=https://github.com/kubernetes/dashboard/releases 2 VERSION_KUBE_DASHBOARD=$(curl -w '%{url_effective}' -I -L -s -S ${GITHUB_URL}/latest -o /dev/null | sed -e 's|.*/||') 3 sudo k3s kubectl create -f https://raw.
JOBCHER BLOG
brew 安装配置
brew 安装配置 一.安装 1.在 ubuntu 上安装 brew 1 /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" 2.在 centos 上安装 brew 1 /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" 3.在 MacOS 上安装 brew 1 /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" 二、使用 1.安装 wget 1 brew install wget Homebrew 会将软件包安装到独立目录,并将其文件软链接至 /usr/local 1 $ cd /usr/local 2 $ find Cellar 3 Cellar/wget/1.16.1 4 Cellar/wget/1.16.1/bin/wget 5 Cellar/wget/1.16.1/share/man/man1/wget.1 6 7 $ ls -l bin 8 bin/wget -> ../Cellar/wget/1.16.1/bin/wget 2.创建你自己的 Homebrew 包 1 $ brew create https://foo.
JOBCHER BLOG
gitlab CI/CD 的使用
gitlab CI/CD 的使用 我将使用 gitlab 的流水线自动实现 hugo blog 文章的自动发布。 一、基础知识 二、安装过程 1.安装 gitlab runner 首先需要安装 gitlab runner 进入服务器 A 安装方法: 容器部署 手动二进制文件部署 通过 rpm/deb 包部署 docker 方式安装 安装文档:https://docs.gitlab.com/runne… 1 docker run -dit \ 2 --name gitlab-runner \ 3 --restart always \ 4 -v /srv/gitlab-runner/config:/etc/gitlab-runner \ 5 -v /var/run/docker.sock:/var/run/docker.sock \ 6 gitlab/gitlab-runner 1.1 设置信息 docker exec -it gitlab-runner gitlab-runner register 非 docker 方式安装 2.1 安装 GitLab Runner 安装环境:Linux 其他环境参考:https://docs.gitlab.com/runne… 下载 1 curl -L --output /usr/local/bin/gitlab-runner https://gitlab-runner-downloads.
JOBCHER BLOG
Markdown教程
Markdown 教程 参考:https://www.runoob.com/markdown
JOBCHER BLOG
感谢打赏
如果你觉得这个项目对你有帮助,并且情况允许的话,可以给我一点点支持,支持我维护下去