-
一、Windows 安裝
- 1.1 安裝與啟用 Hyper-V
- 1.2 安裝 WSL
- 1.3 Docker Desktop 官方下載
- 1.4 安裝Docker Desktop
-
二、MacOS 安裝
- 2.1 Docker Desktop 官方下載
- 2.2 安裝Docker Desktop
- 三、Mac 和Windows 配置鏡像加速
- 四、Linux 安裝docker
- 五、linux 配置鏡像加速
- 六、檢查加速器是否生效
- 七、docker 配置文件解析
-
七、Docker 鏡像加速器
- 7.1 國內(nèi)鏡像加速網(wǎng)站
- 7.2 測試國內(nèi) Docker Registry 可用性
- 7.3 不再提供服務(wù)的鏡像
- 7.4 自建 Docker Registry Mirror/Proxy
一、Windows 安裝
1.1 安裝與啟用 Hyper-V
Hyper-V
是微軟開發(fā)的虛擬機(jī),類似于 VMWare
或 VirtualBox
,僅適用于 Windows 10
和Windows 11
,一般電腦都會自帶,無需額外安裝。
在開始菜單中找到 "PowerShell",右鍵點(diǎn)擊它。
輸入如下命令:
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All
或者打開控制面板
點(diǎn)擊程序
點(diǎn)啟用或者關(guān)閉windows 功能
勾選Hyper-V
1.2 安裝 WSL
因?yàn)镈ocker Desktop在Windows上使用了WSL 2作為默認(rèn)的運(yùn)行時(shí)。WSL 2提供了更好的性能和更好的集成,特別是在Windows上運(yùn)行Linux容器時(shí)。所以我們需要安裝WSL,在管理員模式下打開 PowerShell 或 Windows 命令提示符,方法是右鍵單擊并選擇“以管理員身份運(yùn)行”,輸入如下命令:
wsl --install
然后重啟計(jì)算機(jī)。
1.3 Docker Desktop 官方下載
Docker Desktop 官方下載地址: https://docs.docker.com/desktop/install/windows-install/
1.4 安裝Docker Desktop
雙擊exe 程序,點(diǎn)擊安裝即可。
點(diǎn)擊跳過登錄
當(dāng)狀態(tài)欄中的鯨魚圖標(biāo)保持穩(wěn)定時(shí),表明Docker Desktop正在運(yùn)行,并且可以從任何終端窗口訪問。
二、MacOS 安裝
2.1 Docker Desktop 官方下載
Docker Desktop 官方下載地址: https://docs.docker.com/desktop/install/mac-install/
選擇你的M芯片或Inter芯片
2.2 安裝Docker Desktop
雙擊即可,將Docker 安裝拖過去即可。
鯨魚圖標(biāo)拖拽到 Application 文件夾即可。
三、Mac 和Windows 配置鏡像加速
在系統(tǒng)右下角托盤圖標(biāo)內(nèi)右鍵菜單選擇 Settings,打開配置窗口后左側(cè)導(dǎo)航菜單選擇 Docker Desktop。編輯窗口內(nèi)的json,填寫下方加速器地址,配置加速地址為科大源:
"registry-mirrors": ["https://docker.mirrors.ustc.edu.cn/"]
接著配置好以后我們來驗(yàn)證,運(yùn)行如下命令:
docker pull redis
可以看到,下載速度是很快的。
四、Linux 安裝docker
首先更新系統(tǒng),也可以跳過這一步.
yum update -y
安裝yum工具:
yum install -y yum-utils device-mapper-persistent-data lvm2 --skip-broken
更改鏡像源地址:
yum install -y yum-utils
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
sed -i 's+https://download.docker.com+https://mirrors.tuna.tsinghua.edu.cn/docker-ce+' /etc/yum.repos.d/docker-ce.repo
更新本地鏡像源:
yum makecache
最后安裝docker-ce以及插件
yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
驗(yàn)證是否啟動成功
systemctl status docker
當(dāng)出現(xiàn)active(running)時(shí),即為啟動成功,如圖:
查看docker版本
docker --version
啟動docker
systemctl start docker
設(shè)置開機(jī)自啟
systemctl enable docker
五、linux 配置鏡像加速
docker官方鏡像倉庫網(wǎng)速較差,我們需要設(shè)置國內(nèi)鏡像服務(wù):
新建一個(gè)文件夾:
sudo mkdir -p /etc/docker
新建一個(gè)daemon.json文件:
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://docker.mirrors.ustc.edu.cn/"]
}
EOF
重新加載文件
sudo systemctl daemon-reload
重新啟動docker
sudo systemctl restart docker
拉redis鏡像,速度還是非??斓?
docker pull redis
六、檢查加速器是否生效
執(zhí)行 $ docker info
,如果從結(jié)果中看到了你配置的鏡像加速倉庫,說明配置成功。
七、docker 配置文件解析
Linux上配置文件的默認(rèn)位置是 /etc/docker/daemon.json
{
"authorization-plugins": [], // 用于指定授權(quán)插件的列表,一般用于自定義認(rèn)證
"data-root": "", // Docker運(yùn)行時(shí)使用的根路徑,默認(rèn)/var/lib/docker
"dns": [], // 設(shè)定容器DNS的地址,在容器的 /etc/resolv.conf 文件中可查看
"dns-opts": [], // 容器 /etc/resolv.conf 文件,其他設(shè)置
"dns-search": [], // 設(shè)定容器的搜索域,當(dāng)設(shè)定搜索域?yàn)?.example.com 時(shí),DNS不僅搜索host,還會搜索host.example.com。注意:如果不設(shè)置,Docker 會默認(rèn)用主機(jī)上的 /etc/resolv.conf來配置容器。
"exec-opts": [], // 附加到容器進(jìn)程的選項(xiàng)
"exec-root": "", // 容器執(zhí)行時(shí)的根路徑
"experimental": false, // 啟用實(shí)驗(yàn)性功能,從 v20.10 版本開始,Docker CLI 所有實(shí)驗(yàn)特性的命令均默認(rèn)開啟,無需再進(jìn)行配置或設(shè)置系統(tǒng)環(huán)境變量。
"features": {}, // Docker 特性配置
"storage-driver": "", // 存儲驅(qū)動配置
"storage-opts": [], // 存儲驅(qū)動的附加選項(xiàng)
"labels": [], // Docker主機(jī)的標(biāo)簽,例如定義:–label nodeName=host-121
"live-restore": true, // 是否啟用容器自動重啟
"log-driver": "", // 日志驅(qū)動配置
"log-opts": {}, // 日志驅(qū)動的附加選項(xiàng)
"mtu": 0, // 容器網(wǎng)絡(luò)的 MTU(最大傳輸單元)
"pidfile": "", // Docker守護(hù)進(jìn)程的PID文件
"cluster-store": "", // 集群存儲配置
"cluster-store-opts": {}, // 集群存儲的附加選項(xiàng)
"cluster-advertise": "", // 集群通告地址
"max-concurrent-downloads": 3, // 最大同時(shí)下載鏡像數(shù)
"max-concurrent-uploads": 5, // 最大同時(shí)上傳鏡像數(shù)
"default-shm-size": "64M", // 默認(rèn)的共享內(nèi)存大小
"shutdown-timeout": 15, // 關(guān)閉超時(shí)時(shí)間
"debug": true, // 啟用debug的模式,啟用后,可以看到很多的啟動信息。默認(rèn)false
"hosts": [], // 設(shè)置容器hosts
"log-level": "", // 日志級別
"tls": true, // 默認(rèn) false, 啟動TLS認(rèn)證開關(guān)
"tlscacert": "", // 默認(rèn) ~/.docker/ca.pem,通過CA認(rèn)證過的的certificate文件路徑
"tlscert": "", // 默認(rèn) ~/.docker/cert.pem ,TLS的certificate文件路徑
"tlskey": "", // 默認(rèn)~/.docker/key.pem,TLS的key文件路徑
"tlsverify": true, // 默認(rèn)false,使用TLS并做后臺進(jìn)程與客戶端通訊的驗(yàn)證
"swarm-default-advertise-addr": "", // Swarm 默認(rèn)通告地址
"api-cors-header": "", // API CORS 頭部配置
"selinux-enabled": false, // 啟用selinux支持
"userns-remap": "", // 用戶命名空間重映射
"group": "", // Unix套接字的屬組,僅指/var/run/docker.sock
"cgroup-parent": "", // Cgroup父級路徑
"default-ulimits": { // 默認(rèn)的資源限制
"nofile": {
"Name": "nofile",
"Hard": 64000,
"Soft": 64000
}
},
"init": false, // 啟用初始化進(jìn)程
"init-path": "/usr/libexec/docker-init", // 初始化進(jìn)程路徑
"ipv6": false, // 啟用 IPv6 支持
"iptables": false, // 使用自定義iptables規(guī)則
"ip-forward": false, // 默認(rèn)true, 啟用 net.ipv4.ip_forward ,進(jìn)入容器后使用sysctl -a|grepnet.ipv4.ip_forward查看
"ip-masq": false, // IP偽裝設(shè)置
"userland-proxy": false, // 使用用戶空間代理
"userland-proxy-path": "/usr/libexec/docker-proxy", // 用戶空間代理路徑
"ip": "0.0.0.0", // 監(jiān)聽地址
"bridge": "", // Docker使用的默認(rèn)橋接網(wǎng)絡(luò)
"bip": "", // Docker使用的默認(rèn)橋接網(wǎng)絡(luò)的IPv4地址
"fixed-cidr": "", // Docker使用的默認(rèn)橋接網(wǎng)絡(luò)的固定CIDR地址
"fixed-cidr-v6": "", // Docker使用的默認(rèn)橋接網(wǎng)絡(luò)的固定CIDR地址(IPv6)
"default-gateway": "", // 默認(rèn)網(wǎng)關(guān)地址
"default-gateway-v6": "", // 默認(rèn)IPv6網(wǎng)關(guān)地址
"icc": false, // 啟用或禁用容器之間的通信
"raw-logs": false, // 啟用或禁用原始日志流
"allow-nondistributable-artifacts": [], // 允許非分發(fā)制品的列表
"registry-mirrors": [], // 鏡像加速的地址,增加后在 docker info 中可查看。
"seccomp-profile": "", // seccomp 配置文件路徑
"insecure-registries": [], // 配置docker的私庫地址
"no-new-privileges": false, // 禁止在容器內(nèi)生成新的特權(quán)
"default-runtime": "runc", // 默認(rèn)運(yùn)行時(shí)
"oom-score-adjust": -500, // OOM分?jǐn)?shù)調(diào)整
"node-generic-resources": ["NVIDIA-GPU=UUID1", "NVIDIA-GPU=UUID2"], // 節(jié)點(diǎn)通用資源配置
"runtimes": { // 運(yùn)行時(shí)配置
"cc-runtime": {
"path": "/usr/bin/cc-runtime"
},
"custom": {
"path": "/usr/local/bin/my-runc-replacement",
"runtimeArgs": [
"--debug"
]
}
},
"default-address-pools":[
{"base":"172.80.0.0/16","size":24},
{"base":"172.90.0.0/16","size":24}
] // 默認(rèn)的地址池配置
}
七、Docker 鏡像加速器
7.1 國內(nèi)鏡像加速網(wǎng)站
國內(nèi)從 DockerHub 拉取鏡像有時(shí)會遇到困難,此時(shí)可以配置鏡像加速器。Docker 官方和國內(nèi)很多云服務(wù)商都提供了國內(nèi)加速器服務(wù),例如:
鏡像加速器 | 鏡像加速器地址 | 專屬加速器 | 其它加速 |
---|---|---|---|
DaoCloud 鏡像站 | https://docker.m.daocloud.io |
Docker Hub、GCR、K8S、GHCR、Quay、NVCR 等 | |
科大鏡像站 | https://docker.mirrors.ustc.edu.cn |
Docker Hub、GCR、Quay | |
阿里云 | https://<your_code>.mirror.aliyuncs.com |
需登錄,系統(tǒng)分配,已經(jīng)好久不更新了,一堆坑 | Docker Hub |
騰訊云 | https://mirror.ccs.tencentyun.com |
僅供內(nèi)部訪問 | Docker Hub |
Docker 鏡像代理 | https://dockerproxy.com |
Docker Hub、GCR、K8S、GHCR | |
百度云 | https://mirror.baidubce.com |
Docker Hub | |
南京大學(xué)鏡像站 | https://docker.nju.edu.cn |
Docker Hub、GCR、GHCR、Quay、NVCR 等 | |
上海交大鏡像站 | https://docker.mirrors.sjtug.sjtu.edu.cn |
Docker Hub、GCR 等 | |
中科院軟件所鏡像站 | https://mirror.iscas.ac.cn |
Docker Hub |
7.2 測試國內(nèi) Docker Registry 可用性
可以直接查看 GitHub 倉庫:Docker 鏡像測試 的 Github Action 執(zhí)行結(jié)果。
如最近一次的執(zhí)行結(jié)果為:
7.3 不再提供服務(wù)的鏡像
某些鏡像不再提供服務(wù),添加無用的鏡像加速器,會拖慢鏡像拉取速度,你可以從鏡像配置列表中刪除它們。
-
七牛云加速器:https://reg-mirror.qiniu.com 已關(guān)閉
-
Azure 中國鏡像:https://dockerhub.azk8s.cn 已轉(zhuǎn)為內(nèi)部私有訪問
-
Docker 中國官方鏡像: https://registry.docker-cn.com 已關(guān)閉
7.4 自建 Docker Registry Mirror/Proxy
使用 Cloudflare Worker 項(xiàng)目:文章來源:http://www.zghlxwxcb.cn/news/detail-776900.html
https://github.com/ciiiii/cloudflare-docker-proxy
具體請參考博客:Docker 鏡像庫國內(nèi)加速的幾種方法文章來源地址http://www.zghlxwxcb.cn/news/detail-776900.html
到了這里,關(guān)于【一文搞定】Linux、Mac、Windows安裝Docker與配置教程!的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!