原创 七天用Go寫個docker(完結篇)

今天是最後一天了,我們最後將容器的停止,刪除功能實現一下 容器停止 在上一節中,我們通過config.json 記錄了容器的基本信息,其中就有一個status字段用來記錄容器的狀態,和一個PID字段記錄容器的init進程在宿

原创 七天用Go寫個docker(第六天)

今天主要來實現一下 go-docker ps 的功能,也就是查看當前有哪些容器,簡單說下思路,當我們啓動一個容器時就爲該容器創建一個文件夾用來保存該容器的一些信息,如果我們給容器指定了名字,那麼該文件夾名字就是我們指定的名字,如

原创 mysql中JSON類型使用

文章目錄1. 結構1.1 表結構1.2 content 結構1.3 arrs 結構2. 插入2.1 字符串插入2.2 JSON函數插入3. 查詢3.1 查詢內容3.2 搜索條件3.2.1 全匹配3.2.2 JSON某字段匹配3.2

原创 Linux網絡抓包

文章目錄1. tshark1.1 安裝1.2 使用1.2.1 抓包參數說明1.2.2 輸出參數說明1.3 示例2. tcpdump2.1 安裝2.2 使用 1. tshark 1.1 安裝 Centos yum install -

原创 用Go寫一個內網穿透工具

系統架構 系統分爲兩個部分,client 和 server,client運行在內網服務器中,server運行在公網服務器中,當我們想訪問內網中的服務,我們通過公網服務器做一箇中繼。 下面是展示我靈魂畫手的時刻了 user發

原创 css隨筆記

div下加一條分割線 border-bottom:1px solid #D7D8D9; 頭像圓角並旋轉 .site-author-image { display: block; margin: 0 auto; p

原创 Go安裝配置與使用mqtt

文章目錄1. 安裝2. 測試2.1 參數說明2.2 註冊一個top進行接收2.3 發佈消息到剛註冊的top3. 配置Mqtt3.1 添加用戶3.2 添加Topic和用戶的關係3.3 重啓mqtt3.4 測試3.4.1 監聽消費3.

原创 hexo中next主題配置

1. hexo配置 blog/_config.yml # Hexo Configuration ## Docs: https://hexo.io/docs/configuration.html ## Source: https:/

原创 Go語言版實現QQ掃碼登陸

點擊查看 官方文檔 1. 申請appid和appkey appid:應用的唯一標識。在OAuth2.0認證過程中,appid的值即爲oauth_consumer_key的值。 appkey:appid對應的密鑰,訪問用戶資源時用

原创 七天用Go寫個docker(第二天)

1. Cgroup概念 Linux Cgroup提供了對一組進程及子進程的資源限制,控制和統計的能力,這些資源包括CPU,內存,存儲,網絡等。通過Cgroup,可以方便的吸納之某個進程的資源佔用,並且可以實時監控進程和統計信息。

原创 安裝traefik流量監控與反向代理

官方文檔:https://docs.traefik.io/v2.0/getting-started/quick-start 配置文件詳解:https://docs.traefik.cn/toml#global-configurat

原创 七天用Go寫個docker(第三天)

項目源碼:點擊查看項目源碼 前面兩天我們瞭解完docker原理之後,今天我們動手把項目的結構給搭起來,先總體看一下項目結構 整個文件調用過程如下 我們最終達到的效果實現下面這個命令,該命令會啓動一個隔離的容器,並在該容器中

原创 七天用Go寫個docker(第四天)

鏡像 前面我們用namespace和cgroup構建了一個簡單的容器,但是我們可以發現容器內的目錄還是當前運行程序的目錄,這裏就缺少了鏡像這麼一個重要的特性。這裏我們先用docker拉一個最精簡的鏡像busybox,它是一個集合

原创 搭建系統性能監控 Prometheus+Grafana

文章目錄1. 安裝Prometheus1.1 安裝啓動node-exporter1.2 編輯 prometheus.yml1.3 安裝啓動prometheus2. 安裝Grafana2.1 新建數據存儲文件夾2.2 安裝啓動gra

原创 Go編譯時加入版本信息

-ldflags 參數 Go 編譯時可通過 ldflags 動態的爲程序裏某個變量賦值,我們可以利用這個特性來達到將Go的信息和git 的commit 信息編譯到我們的二進制文件中。 package main import