melody go

go语言操作docker终止容器

代码部分 ```go package main import ( "context" "fmt" "os" "github.com/docker/docker/api/types/container" "github.com/docker/docker/client" ) func main() { ......
容器 语言 docker

go通过docker sdk将容器中的文件或者文件夹复制到本地

第一步:需要创建docker客户端 第二步:将文件复制出来,但是复制出来的文件无论文件还是文件夹都会是tar存档的形式 第三步:解包 ```go package main import ( "archive/tar" "context" "fmt" "io" "os" "path/filepath" ......
文件 容器 文件夹 docker sdk

go通过docker sdk访问复制文件到容器中

第一步:需要先判断容器中的文件夹是否存在 第二步:将需要拷贝的文件打包成tar存档 第三步:读取打包的tar存档,然后拷贝到容器中 ```go package main import ( "archive/tar" "context" "fmt" "io" "os" "path/filepath" ......
容器 文件 docker sdk

go通过docker sdk操作镜像

# 获取所有镜像 ```go package main import ( "context" "fmt" "github.com/docker/docker/api/types" "github.com/docker/docker/client" ) func main() { // 设置远程Doc ......
镜像 docker sdk

GO 指针数据类型的使用

转载请注明出处: 在Go语言中,指针类型允许直接访问和修改某个变量的内存地址。通过使用指针,我们可以在函数之间共享数据或者在函数内部修改外部变量的值。 以下是关于Go语言指针类型的一些重要语法和示例: 定义指针变量: 使用*表示指针类型,并将其放置在变量类型前面。例如:var ptr *int声明了 ......
指针 类型 数据 GO

大白话讲讲 Go 语言的 sync.Map(一)

阅读本文大约需要 4.25 分钟。 程序是枯燥乏味的。 在讲 sync.Map 之前,我们先说说什么是 map(映射)。 我们每个人都有身份证号码,如果我需要从身份证号码查到对应的姓名,用 map 存储是非常合适的。 map[000...001] = 张三 map[000...002] = 李四 . ......
大白话 大白 语言 sync Map

debug go fuzz test

List all package go list ./... Run testcase dlv test --build-flags='api/tests/fuzz' -- -test.run ^FuzzGetNodes$ dlv test api/tests/fuzz -- -test.run F ......
debug fuzz test go

go基于docker sdk用dockerfile构建镜像

测试了好久,发现,单独读取dockerfile文件,然后上传,是无法构建成功的 构建的时候总会报无法找到dockerfile文件 `Error response from daemon: Cannot locate specified Dockerfile: Dockerfile` 查资料发现需要将 ......
dockerfile 镜像 docker sdk

go语言操作docker删除所有停止的容器

逻辑是通过过滤器,过滤掉,状态为exited的容器,然后再遍历删除 代码部分 ```go package main import ( "context" "fmt" "os" "github.com/docker/docker/api/types" "github.com/docker/docker ......
容器 语言 docker

go通过docker sdk进入容器执行命令

代码部分 ```go package main import ( "context" "fmt" "io" "os" "github.com/docker/docker/api/types" "github.com/docker/docker/client" ) func main() { // 设 ......
容器 命令 docker sdk

go语言操作docker重启容器

代码部分 ```go package main import ( "context" "fmt" "os" "github.com/docker/docker/api/types/container" "github.com/docker/docker/client" ) func main() { ......
容器 语言 docker

go语言操作docker删除容器

代码部分 ```go package main import ( "context" "fmt" "os" "github.com/docker/docker/api/types" "github.com/docker/docker/client" ) func main() { // 设置远程Do ......
容器 语言 docker

关于go语言常量的那些事

相对于变量,常量是恒定不变的值,多用于定义程序运行期间不会改变的那些值。 常量的声明和变量声明非常类似,只是把var换成了const,常量在定义的时候必须赋值。 const 常量名[数据类型] = value 项目实战常见场景 数据类型可以忽略不写,Golang 编译器会⾃动推断出数据类型。 在使⽤ ......
常量 语言

go语言操作docker创建容器

开启远程api的方式 https://www.cnblogs.com/guangdelw/p/17562539.html 代码部分 ```go package main import ( "context" "fmt" "os" "github.com/docker/docker/api/types ......
容器 语言 docker

go 单链表的增加,删除,翻转

package main import "fmt" //单链的数据结构 type Node struct { value int next *Node } type List struct { head *Node } //添加成有序的链表 //1.如果是空链表则插入链表第一个元素 //2.升序插入 ......
go

我是如何组织 Go 代码的(目录结构 依赖注入 wire)

## 背景 对于大多数 Gopher 来说,编写 Go 程序会直接在目录建立 main.go,xxx.go,yyy.go…… 不是说不好,对于小型工程来说,简单反而简洁明了,我也提倡小工程没必要整一些花里胡哨的东西。 毕竟 Go 语言作为现代微服务的开发新宠,各个方面都比较自由,没有很多约束。我想, ......
结构 代码 目录 wire Go

go通过API的方式操作docker

# 配置docker支持远程操作API 在Linux系统上启用Docker远程使用Docker API的步骤 ## 1、编辑Docker配置文件 打开Docker配置文件,通常位于/etc/docker/daemon.json。如果该文件不存在,则创建它。 ```bash vim /etc/dock ......
方式 docker API

go语言读取docker容器的日志

# 使用Docker SDK: 要使用Docker SDK来读取Docker容器的日志,您需要安装Docker SDK并使用其提供的函数进行操作。 ## 安装Docker SDK: ```bash go get -u github.com/docker/docker ``` ## 获取容器ID `` ......
容器 语言 docker 日志

go语言中动态读取日志

```go package main //tail命令用途是依照要求将指定的文件的最后部分输出到标准设备,通常是终端, //通俗讲来,就是把某个档案文件的最后几行显示到终端上,假设该档案有更新,tail会自己主动刷新,确保你看到最新的档案内容 ,在日志收集中可以实时的监测日志的变化,Log需要换行才 ......
语言 动态 日志

Go语言实现23种设计模式

## 摘要 设计模式是一套被广泛应用于软件开发中的解决问题的经验总结,它可以帮助开发人员设计出更加灵活、可维护和可扩展的代码。本文将探讨使用设计模式的好处,并对常见的设计模式进行分类和介绍。此外,我们还将提供设计模式的相关链接,以便读者深入了解各个设计模式的细节和实例。最后,我们将探讨如何学习设计模 ......
设计模式 语言 模式

GO语言调试利器dlv快速上手

GO语言调试利器dlv快速上手 golang 安装 tar -xvf go1.15.2.linux-arm64.tar.gz -C /usr/local/go [root@centos7 ~]# ls /usr/local/go go [root@centos7 ~]# ls /usr/local/ ......
利器 语言 dlv

Go 标准库net/url

# URL 概述 ```go import "net/url" ``` url 包解析 URL 并实现了查询的转码。 URL 提供了一种定位因特网上任意资源的手段,但这些资源是可以通过各种不同的方案(比如 HTTP 、 FTP 、 SMTP )来访问,因此 URL 语法会随着方案的不同而不同。 完整 ......
标准 net url Go

go中http客户端设置当响应码为3xx时禁止自动跳转

通常在http客户端请求的时候,如果遇到响应码为3XX,并且header中也有 `Location` 字段时,go的 `net/http` 库会自动完成跳转 但是现实场景是,有时咱们需要对跳转前的数据做处理,然后再手动跳转 这个时候该怎么办呢? 在Go中,可以通过自定义http.Client的Che ......
客户端 客户 http 3xx xx

解决go中http客户端请求遇到tls: server selected unsupported protocol version 301错误

在发起请求的时候,咱们有时会遇到类似 `tls: server selected unsupported protocol version 301` 的错误 # 分析问题 这个报错是由于这个服务只支持低版本的tls协议。 TLS(Transport Layer Security)是一种用于加密和保护 ......

go中http设置忽略证书

在Go中,可以通过设置 `http.Client` 的 `Transport`属性来忽略证书验证。 默认情况下,`http.DefaultClient` 使用的是 `http.DefaultTransport` ,它对证书进行了验证。 但是你可以创建一个自定义的 `Transport` 并将其用作客 ......
证书 http

go中http如何解决跳转自动携带cookie的问题

在Go中,可以使用net/http包来进行HTTP请求,并通过设置一个Client的Jar属性来自动处理HTTP响应中的Cookie。 ```go package main import ( "fmt" "net/http" "net/http/cookiejar" ) func main() { ......
转自 cookie 问题 http

读 Go 源码,可以试试这个工具

编程发展至今,从面向过程到面向对象,再到现在的面向框架。写代码变成了一件越来越容易的事情。 学习基础语法,看看框架文档,几天时间搞出一个小项目并不是一件很难的事情。 但时间长了就会发现,一直这样飘在表面是不行的,技术永远得不到提升。 想要技术水平有一个质的飞跃,有一个很好的方法,就是读源码。 但读源 ......
源码 工具 Go

常用语言的线程模型(Java、go、C++、python3)

了解一下线程模型还是很有必要的,如果不清楚语言层面上的线程在操作系统层面怎么映射使用,在使用过程中就会不清不楚,可能会踩一些坑 ......
线程 模型 常用 python3 语言

GoLand中使用PlantUML生成Go UML图,使用go-callvis生成Go 调用关系图

1.在goland IDE中安装plantuml插件2.安装go-package-plantuml工具go get --insecure gitee.com/jscode/go-package-plantuml.git修改go-package-plantuml代码支持outputfileif opt ......
go-callvis PlantUML callvis GoLand UML

kafka-es.go

package es import ( "context" "encoding/json" "fmt" "kafka/mongo" "log" "os" "github.com/olivere/elastic" ) var client *elastic.Client var host = "htt ......
kafka-es kafka es go