真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

go語(yǔ)言支持通訊ipv6 golang 通信

如何使用Go語(yǔ)言是操作Docker

Docker 提供了一個(gè)與 Docker 守護(hù)進(jìn)程交互的 API (稱(chēng)為Docker Engine API),我們可以使用官方提供的 Go 語(yǔ)言的 SDK 進(jìn)行構(gòu)建和擴(kuò)展 Docker 應(yīng)用程序和解決方案。

創(chuàng)新互聯(lián)網(wǎng)站建設(shè)由有經(jīng)驗(yàn)的網(wǎng)站設(shè)計(jì)師、開(kāi)發(fā)人員和項(xiàng)目經(jīng)理組成的專(zhuān)業(yè)建站團(tuán)隊(duì),負(fù)責(zé)網(wǎng)站視覺(jué)設(shè)計(jì)、用戶(hù)體驗(yàn)優(yōu)化、交互設(shè)計(jì)和前端開(kāi)發(fā)等方面的工作,以確保網(wǎng)站外觀精美、網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè)易于使用并且具有良好的響應(yīng)性。

轉(zhuǎn)自:

整理:地鼠文檔

通過(guò)下面的命令就可以安裝 SDK 了:

該部分會(huì)介紹如何使用 Golang + Docker API 進(jìn)行管理本地的 Docker。

第一個(gè)例子將展示如何運(yùn)行容器,相當(dāng)于 docker run docker.io/library/alpine echo "hello world" :

還可以在后臺(tái)運(yùn)行容器,相當(dāng)于 docker run -d bfirsh/reticulate-splines :

列出正在運(yùn)行的容器,就像使用 docker ps 一樣:

如果是 docker ps -a ,我們可以通過(guò)修改 types.ContainerListOptions 中的 All 屬性達(dá)到這個(gè)目的:

通過(guò)上面的例子,我們可以獲取容器的列表,所以在這個(gè)案例中,我們可以去停止所有正在運(yùn)行的容器。

通過(guò)指定容器的 ID,我們可以獲取對(duì)應(yīng) ID 的容器的日志:

獲取本地所有的鏡像,相當(dāng)于 docker image ls 或 docker images :

拉取指定鏡像,相當(dāng)于 docker pull alpine :

除了公開(kāi)的鏡像,我們平時(shí)還會(huì)用到一些私有鏡像,可以是 DockerHub 上私有鏡像,也可以是自托管的鏡像倉(cāng)庫(kù),比如 harbor 。這個(gè)時(shí)候,我們需要提供對(duì)應(yīng)的憑證才可以拉取鏡像。

值得注意的是:在使用 Docker API 的 Go SDK 時(shí),憑證是以明文的方式進(jìn)行傳輸?shù)?,所以如果是自建的鏡像倉(cāng)庫(kù),請(qǐng)務(wù)必使用 HTTPS !

我們可以將一個(gè)已有的容器通過(guò) commit 保存成一個(gè)鏡像:

當(dāng)然,除了可以管理本地的 Docker , 我們同樣也可以通過(guò)使用 Golang + Docker API 管理遠(yuǎn)程的 Docker 。

默認(rèn) Docker 是通過(guò)非網(wǎng)絡(luò)的 Unix 套接字運(yùn)行的,只能夠進(jìn)行本地通信( /var/run/docker.sock ),是不能夠直接遠(yuǎn)程連接 Docker 的。

我們需要編輯配置文件 /etc/docker/daemon.json ,并修改以下內(nèi)容(把 192.168.59.3 改成你自己的 IP 地址),然后重啟 Docker :

創(chuàng)建 client 的時(shí)候需要指定遠(yuǎn)程 Docker 的地址,這樣就可以像管理本地 Docker 一樣管理遠(yuǎn)程的 Docker 了:

現(xiàn)在已經(jīng)有很多可以管理 Docker 的產(chǎn)品,它們便是這樣進(jìn)行實(shí)現(xiàn)的,比如: portainer 。

Golang 網(wǎng)絡(luò)編程絲綢之路 - TCP/UDP 地址解析

TL;DR 在使用 Golang 編寫(xiě) TCP/UDP socket 的時(shí)候,第一步做的就是地址解析。

該函數(shù)返回的地址包含的信息如下:

TCPAddr 里, IP 既可以是 IPv4 地址,也可以是 IPv6 地址。 Port 就是端口了。 Zone 是 IPv6 本地地址所在的區(qū)域。

從返回結(jié)果看該函數(shù)的參數(shù), network 指 address 的網(wǎng)絡(luò)類(lèi)型; address 指要解析的地址,會(huì)從中解析出我們想要的 IP , Port 和 Zone 。

從源碼中可以看出,參數(shù) network 只能是如下四個(gè)值,否則會(huì)得到一個(gè)錯(cuò)誤。

解析過(guò)程跟 ResolveTCPAddr 的一樣,不過(guò)得到的是 *UDPAddr 。

UDPAddr 包含的信息如下:

使用動(dòng)態(tài)ipv6后綴

這就帶來(lái)一個(gè)現(xiàn)實(shí)問(wèn)題,想要直連,必須得獲得IPv6地址,但是想要獲得新的IPv6地址,必須要先連上家中NAS,而處于外網(wǎng)時(shí)段,又因?yàn)闆](méi)有新地址無(wú)法連接,處于內(nèi)網(wǎng)時(shí)段又完全沒(méi)必要。

這種方法簡(jiǎn)單明了,這里分享給大家。

想要實(shí)現(xiàn)動(dòng)態(tài)域名解析,首先要擁有一個(gè)自己的域名。什么叫域名?其實(shí)就是我們平時(shí)在瀏覽器地址欄輸入的網(wǎng)址,比如 ,就是域名,而IP地址才是真正的指向服務(wù)器的地址,域名和地址的關(guān)聯(lián)就是域名解析。我們已經(jīng)擁有不固定的IPv6的公網(wǎng)地址了,現(xiàn)在需要一個(gè)固定的域名,然后隨時(shí)更新,將新的IPv6公網(wǎng)地址關(guān)聯(lián)到固定的域名下,這就是ddns-go的作用了。


名稱(chēng)欄目:go語(yǔ)言支持通訊ipv6 golang 通信
文章路徑:http://www.weahome.cn/article/dopdodo.html

其他資訊

在線咨詢(xún)

微信咨詢(xún)

電話咨詢(xún)

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部