「大家好,我是熊貓,你的nas領(lǐng)航員。NAS不只是存儲(chǔ)那么簡(jiǎn)單,數(shù)碼也可以是生活,關(guān)注我,給你的生活加點(diǎn)'技'趣!」

引言

自從國(guó)內(nèi)的各大Docker鏡像源被下架后,NAS想要拉取個(gè)鏡像真的不容易,不過(guò)網(wǎng)友們可不是吃素的,此路不通那就換一條路。于是現(xiàn)在有各種辦法能讓我們拉取鏡像,例如通過(guò)套CF的形式,實(shí)現(xiàn)拉取鏡像,不過(guò)域名容易被DNS污染導(dǎo)致不能用;還可以通過(guò)自建鏡像站的形式,不過(guò)需要什么鏡像都需要先去同步到自己鏡像源,比較麻煩;或者干脆直接讓NAS出國(guó)也行,但是這會(huì)導(dǎo)致NAS上的其他容器或者項(xiàng)目也出國(guó)。

Docker鏡像拉取最優(yōu)解!養(yǎng)一只小貓,利用crproxy高速無(wú)感鏡像拉取

那么有沒(méi)有一種方法,既可以讓NAS不出國(guó),又能實(shí)現(xiàn)不怕DNS污染,同時(shí)拉取鏡像也方便快捷的方式呢?還真有,這里感謝粉絲「姜不吃」提供的信息來(lái)源,同時(shí)感謝作者「wzshiming」的項(xiàng)目。

部署過(guò)程

首先我們需要在「NAS上養(yǎng)一只小貓」,同時(shí)還需要這只貓有對(duì)應(yīng)的「貓糧」。貓很好養(yǎng),但是貓糧怎么來(lái)就需要大家自行想辦法了,不過(guò)我相信既然都玩上NAS以及Docker了,那么貓糧應(yīng)該不缺。

準(zhǔn)備好養(yǎng)貓的材料,docker-compose文件,內(nèi)容如下,其中「將貓改為小貓真名」就可以了。還要注意貓的端口以及路徑,根據(jù)自己環(huán)境來(lái)設(shè)置。

version: '3'

services:

貓:

container_name: 貓

image: laoyutang/貓-and-dashboard:latest

restart: always

logging:

options:

max-size: 1m

volumes:

- /volume1/docker/貓/config.yml:/root/.config/貓/config.yaml

ports:

- "18080:8080"

- "17890:7890/tcp"

- "17890:7890/udp"

這里的「config.yaml文件就是貓糧」,這個(gè)看你在哪個(gè)地方領(lǐng)養(yǎng)的貓,直接去領(lǐng)養(yǎng)貓的地方拿貓糧就可以了。

Docker鏡像拉取最優(yōu)解!養(yǎng)一只小貓,利用crproxy高速無(wú)感鏡像拉取

貓和貓糧解決了之后啟動(dòng)容器,這時(shí)候就有一個(gè)貓窩了,貓窩的端口為18080,或者你定義的其他端口。如果你的貓糧小貓肯吃,那么貓窩中就能看到小貓每天出去玩的各種路徑了,這里就不一一展示了,接下來(lái)我們利用小貓拉取鏡像。

Docker鏡像拉取最優(yōu)解!養(yǎng)一只小貓,利用crproxy高速無(wú)感鏡像拉取

需要注意的事該項(xiàng)目最好用于個(gè)人使用,畢竟要用到你自己家里的帶寬,公開(kāi)的話估計(jì)會(huì)比較卡。準(zhǔn)備好docker-compose文件,參考圖中或者參考熊貓這里的設(shè)置,其中「environment環(huán)境變量」的值為小貓出去玩的路徑和號(hào)碼,根據(jù)自己情況更改,例如熊貓這里就是:

version: '3'

services:

crproxy:

image: ghcr.io/daocloud/crproxy/crproxy:v0.8.0

container_name: crproxy

restart: unless-stopped

ports:

- 4321:8080

- 4322:8080

command: |

--acme-cache-dir=/tmp/acme

--acme-hosts=*

--default-registry=docker.io

tmpfs:

- /tmp/acme

# 非必須, 如果這臺(tái)服務(wù)器無(wú)法暢通的達(dá)到你要的鏡像倉(cāng)庫(kù)可以嘗試配置

environment:

- https_proxy=http://IP:9870

- http_proxy=http://IP:9870

如何使用

配置好所有之后我們啟動(dòng)容器,這時(shí)候嘗試docker pull鏡像的時(shí)候可以這樣:docker pull 127.0.0.1:4321/idootop/feiyu:latest。你會(huì)發(fā)現(xiàn)速度飛快(根據(jù)你「貓的品種」決定),同時(shí)拉取暢通無(wú)阻。

Docker鏡像拉取最優(yōu)解!養(yǎng)一只小貓,利用crproxy高速無(wú)感鏡像拉取

此時(shí)我們就已經(jīng)可以拉取鏡像了,如果你有域名,那么我們還可以通過(guò)域名+端口的形式拉取鏡像,例如如果熊貓有一個(gè)panda.com的域名,那么就可以通過(guò)docker pull panda.com:4321/idootop/feiyu:latest,當(dāng)然前提是你將其域名做了解析。

不過(guò)需要注意的是,目前測(cè)試下來(lái)發(fā)現(xiàn)「群輝、極空間暫不支持端口情況下作為鏡像源」使用,但威聯(lián)通目前是支持的(威聯(lián)通YYDS)。同時(shí)第三方的Docker容器管理,大都支持帶端口的情況下拉取鏡像,例如portainer、1Panel這一類(lèi)。

Docker鏡像拉取最優(yōu)解!養(yǎng)一只小貓,利用crproxy高速無(wú)感鏡像拉取

當(dāng)然了有沒(méi)有辦法解決呢?自然也是有的。進(jìn)階玩法就是通過(guò)將域名綁定到render上實(shí)現(xiàn)使用80和443端口,render每個(gè)月免費(fèi)流量為100G,用來(lái)拉取鏡像什么的也是完全夠用了,此方法可以參考項(xiàng)目「k0baya/QLonRAILWAY」。

Docker鏡像拉取最優(yōu)解!養(yǎng)一只小貓,利用crproxy高速無(wú)感鏡像拉取

這時(shí)候我們就可以直接使用我們的域名來(lái)拉取鏡像,不需要加端口什么的了,同時(shí)這個(gè)網(wǎng)址也可以直接添加到任意NAS的鏡像源設(shè)置中去。

Docker鏡像拉取最優(yōu)解!養(yǎng)一只小貓,利用crproxy高速無(wú)感鏡像拉取

切記「不要將域名公開(kāi)」,目前網(wǎng)友自建的大部分鏡像源都因?yàn)槭褂萌颂啵聪匏僖搓P(guān)閉了,所以想要自己體驗(yàn)高速,就不要公開(kāi)。當(dāng)然如果你有幾個(gè)好大兒和你一樣都玩nas,那么可以一起用。

總結(jié)

本期內(nèi)容稍微比較隱晦,如果有不懂的,不要來(lái)問(wèn)。懂的自然懂,不懂的問(wèn)我我也不能回答。

以上便是本期的全部?jī)?nèi)容了,如果你覺(jué)得還算有趣或者對(duì)你有所幫助,不妨點(diǎn)贊收藏,最后也希望能得到你的關(guān)注,咱們下期見(jiàn)!

Docker鏡像拉取最優(yōu)解!養(yǎng)一只小貓,利用crproxy高速無(wú)感鏡像拉取

作者聲明本文無(wú)利益相關(guān),歡迎值友理性交流,和諧討論~

,

聲明:本站所有文章,如無(wú)特殊說(shuō)明或標(biāo)注,均為本站原創(chuàng)發(fā)布。任何個(gè)人或組織,在未征得本站同意時(shí),禁止復(fù)制、盜用、采集、發(fā)布本站內(nèi)容到任何網(wǎng)站、書(shū)籍等各類(lèi)媒體平臺(tái)。如若本站內(nèi)容侵犯了原著者的合法權(quán)益,可聯(lián)系我們進(jìn)行處理。