【一文搞定】Linux、Mac、Windows安装Docker与配置教程!
一、Windows 安装
1.1 安装与启用 Hyper-V
Hyper-V 是微软开发的虚拟机,类似于 VMWare 或 VirtualBox,仅适用于 Windows 10和Windows 11,一般电脑都会自带,无需额外安装。
在开始菜单中找到 "PowerShell",右键点击它。

输入如下命令:
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All

或者打开控制面板

点击程序

点启用或者关闭windows 功能

勾选Hyper-V

1.2 安装 WSL
因为Docker Desktop在Windows上使用了WSL 2作为默认的运行时。WSL 2提供了更好的性能和更好的集成,特别是在Windows上运行Linux容器时。所以我们需要安装WSL,在管理员模式下打开 PowerShell 或 Windows 命令提示符,方法是右键单击并选择“以管理员身份运行”,输入如下命令:
wsl --install

然后重启计算机。
1.3 Docker Desktop 官方下载
Docker Desktop 官方下载地址: https://docs.docker.com/desktop/install/windows-install/

1.4 安装Docker Desktop
双击exe 程序,点击安装即可。







点击跳过登录


当状态栏中的鲸鱼图标保持稳定时,表明Docker Desktop正在运行,并且可以从任何终端窗口访问。

二、MacOS 安装
2.1 Docker Desktop 官方下载
Docker Desktop 官方下载地址: https://docs.docker.com/desktop/install/mac-install/
选择你的M芯片或Inter芯片

2.2 安装Docker Desktop
双击即可,将Docker 安装拖过去即可。

鲸鱼图标拖拽到 Application 文件夹即可。

三、Mac 和Windows 配置镜像加速
在系统右下角托盘图标内右键菜单选择 Settings,打开配置窗口后左侧导航菜单选择 Docker Desktop。编辑窗口内的json,填写下方加速器地址,配置加速地址为科大源:
"registry-mirrors": ["https://docker.mirrors.ustc.edu.cn/"]

接着配置好以后我们来验证,运行如下命令:
docker pull redis
可以看到,下载速度是很快的。

四、Linux 安装docker
首先更新系统,也可以跳过这一步.
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
验证是否启动成功
systemctl status docker
当出现active(running)时,即为启动成功,如图:

查看docker版本
docker --version
启动docker
systemctl start docker
设置开机自启
systemctl enable docker
五、linux 配置镜像加速
docker官方镜像仓库网速较差,我们需要设置国内镜像服务:
新建一个文件夹:
sudo mkdir -p /etc/docker
新建一个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

六、检查加速器是否生效
执行 $ docker info,如果从结果中看到了你配置的镜像加速仓库,说明配置成功。

七、docker 配置文件解析
Linux上配置文件的默认位置是 /etc/docker/daemon.json
{
"authorization-plugins": [], // 用于指定授权插件的列表,一般用于自定义认证
"data-root": "", // Docker运行时使用的根路径,默认/var/lib/docker
"dns": [], // 设定容器DNS的地址,在容器的 /etc/resolv.conf 文件中可查看
"dns-opts": [], // 容器 /etc/resolv.conf 文件,其他设置
"dns-search": [], // 设定容器的搜索域,当设定搜索域为 .example.com 时,DNS不仅搜索host,还会搜索host.example.com。注意:如果不设置,Docker 会默认用主机上的 /etc/resolv.conf来配置容器。
"exec-opts": [], // 附加到容器进程的选项
"exec-root": "", // 容器执行时的根路径
"experimental": false, // 启用实验性功能,从 v20.10 版本开始,Docker CLI 所有实验特性的命令均默认开启,无需再进行配置或设置系统环境变量。
"features": {}, // Docker 特性配置
"storage-driver": "", // 存储驱动配置
"storage-opts": [], // 存储驱动的附加选项
"labels": [], // Docker主机的标签,例如定义:–label nodeName=host-121
"live-restore": true, // 是否启用容器自动重启
"log-driver": "", // 日志驱动配置
"log-opts": {}, // 日志驱动的附加选项
"mtu": 0, // 容器网络的 MTU(最大传输单元)
"pidfile": "", // Docker守护进程的PID文件
"cluster-store": "", // 集群存储配置
"cluster-store-opts": {}, // 集群存储的附加选项
"cluster-advertise": "", // 集群通告地址
"max-concurrent-downloads": 3, // 最大同时下载镜像数
"max-concurrent-uploads": 5, // 最大同时上传镜像数
"default-shm-size": "64M", // 默认的共享内存大小
"shutdown-timeout": 15, // 关闭超时时间
"debug": true, // 启用debug的模式,启用后,可以看到很多的启动信息。默认false
"hosts": [], // 设置容器hosts
"log-level": "", // 日志级别
"tls": true, // 默认 false, 启动TLS认证开关
"tlscacert": "", // 默认 ~/.docker/ca.pem,通过CA认证过的的certificate文件路径
"tlscert": "", // 默认 ~/.docker/cert.pem ,TLS的certificate文件路径
"tlskey": "", // 默认~/.docker/key.pem,TLS的key文件路径
"tlsverify": true, // 默认false,使用TLS并做后台进程与客户端通讯的验证
"swarm-default-advertise-addr": "", // Swarm 默认通告地址
"api-cors-header": "", // API CORS 头部配置
"selinux-enabled": false, // 启用selinux支持
"userns-remap": "", // 用户命名空间重映射
"group": "", // Unix套接字的属组,仅指/var/run/docker.sock
"cgroup-parent": "", // Cgroup父级路径
"default-ulimits": { // 默认的资源限制
"nofile": {
"Name": "nofile",
"Hard": 64000,
"Soft": 64000
}
},
"init": false, // 启用初始化进程
"init-path": "/usr/libexec/docker-init", // 初始化进程路径
"ipv6": false, // 启用 IPv6 支持
"iptables": false, // 使用自定义iptables规则
"ip-forward": false, // 默认true, 启用 net.ipv4.ip_forward ,进入容器后使用sysctl -a|grepnet.ipv4.ip_forward查看
"ip-masq": false, // IP伪装设置
"userland-proxy": false, // 使用用户空间代理
"userland-proxy-path": "/usr/libexec/docker-proxy", // 用户空间代理路径
"ip": "0.0.0.0", // 监听地址
"bridge": "", // Docker使用的默认桥接网络
"bip": "", // Docker使用的默认桥接网络的IPv4地址
"fixed-cidr": "", // Docker使用的默认桥接网络的固定CIDR地址
"fixed-cidr-v6": "", // Docker使用的默认桥接网络的固定CIDR地址(IPv6)
"default-gateway": "", // 默认网关地址
"default-gateway-v6": "", // 默认IPv6网关地址
"icc": false, // 启用或禁用容器之间的通信
"raw-logs": false, // 启用或禁用原始日志流
"allow-nondistributable-artifacts": [], // 允许非分发制品的列表
"registry-mirrors": [], // 镜像加速的地址,增加后在 docker info 中可查看。
"seccomp-profile": "", // seccomp 配置文件路径
"insecure-registries": [], // 配置docker的私库地址
"no-new-privileges": false, // 禁止在容器内生成新的特权
"default-runtime": "runc", // 默认运行时
"oom-score-adjust": -500, // OOM分数调整
"node-generic-resources": ["NVIDIA-GPU=UUID1", "NVIDIA-GPU=UUID2"], // 节点通用资源配置
"runtimes": { // 运行时配置
"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}
] // 默认的地址池配置
}
七、Docker 镜像加速器
7.1 国内镜像加速网站
国内从 DockerHub 拉取镜像有时会遇到困难,此时可以配置镜像加速器。Docker 官方和国内很多云服务商都提供了国内加速器服务,例如:
| 镜像加速器 | 镜像加速器地址 | 专属加速器 | 其它加速 |
|---|---|---|---|
| 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 |
需登录,系统分配,已经好久不更新了,一堆坑 | Docker Hub |
| 腾讯云 | https://mirror.ccs.tencentyun.com |
仅供内部访问 | Docker Hub |
| Docker 镜像代理 | https://dockerproxy.com |
Docker Hub、GCR、K8S、GHCR | |
| 百度云 | https://mirror.baidubce.com |
Docker Hub | |
| 南京大学镜像站 | 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 测试国内 Docker Registry 可用性
可以直接查看 GitHub 仓库:Docker 镜像测试 的 Github Action 执行结果。


如最近一次的执行结果为:

7.3 不再提供服务的镜像
某些镜像不再提供服务,添加无用的镜像加速器,会拖慢镜像拉取速度,你可以从镜像配置列表中删除它们。
七牛云加速器:https://reg-mirror.qiniu.com 已关闭
Azure 中国镜像:https://dockerhub.azk8s.cn 已转为内部私有访问
Docker 中国官方镜像: https://registry.docker-cn.com 已关闭
7.4 自建 Docker Registry Mirror/Proxy
使用 Cloudflare Worker 项目:
https://github.com/ciiiii/cloudflare-docker-proxy
具体请参考博客:Docker 镜像库国内加速的几种方法
【一文搞定】Linux、Mac、Windows安装Docker与配置教程!的更多相关文章
- Axure RP 9 Enterprise/Pro/Team for Mac/Windows安装破解版激活教程
Axure RP 9.0 是一款功能强大的.操作方便.专业可靠的快速原型设计工具.一款能够在这里体验最简单的设计方式,这里有着全新的升级的软件界面,更加的时尚,更加的丰富,专为每一个用户提供了便捷的设 ...
- Windows安装Docker & Docker-Compose & 配置docker私有仓库
一定要给windows先创建软连接,不然系统盘会爆表的: mklink /j .docker D:\Administrator\.docker Win7安装Docker Dockerfile # FR ...
- 一文搞定 SonarQube 接入 C#(.NET) 代码质量分析
1. 前言 C#语言接入Sonar代码静态扫描相较于Java.Python来说,相对麻烦一些.Sonar检测C#代码时需要预先编译,而且C#代码必须用MSbuid进行编译,如果需要使用SonarQub ...
- Linux RabbitMQ的安装、环境配置、远程访问 , Windows 下安装的RabbitMQ远程访问
Linux RabbitMQ的安装和环境配置 1.安装 RabbitMQ是使用Erlang语言编写的,所以安装RabbitMQ之前,先要安装Erlang环境 #对原来的yum官方源做个备份 1.mv ...
- Linux及Windows安装Redis(详细)
Linux及Windows安装Redis 1.Windows安装教程 1.1下载 https://github.com/MSOpenTech/redis/releases 进入github里下载red ...
- 最强绘图AI:一文搞定Midjourney(附送咒语)
最强绘图AI:一文搞定Midjourney(附送咒语) Midjourney官网:https://www.midjourney.com 简介 Midjourney是目前效果最棒的AI绘图工具.访问Mi ...
- 002-docker安装-mac上安装docker,17.06在CentOS7 64位机器上安装
一.mac上安装docker 1.下载 通过这个链接下载:https://download.docker.com/mac/stable/Docker.dmg 2.安装 将 Moby 的鲸鱼图标拖拽到 ...
- Linux与Windows 10用grub引导教程
前言 去年暑假的时候,写了一篇如何装 Linux 和 Windows 10 双系统的文章发在了简书上,我写这篇文章的原因是当初装双系统确实是折腾了许久,网上也找不到一篇详尽的教程.由于去年对于写教程还 ...
- Linux下离线安装Docker
Linux下离线安装Docker 一.基础环境 1.操作系统:CentOS 7.3 2.Docker版本:18.06.1 官方下载地址(打不开可能需要***) 3.百度云Docker 18.06.1地 ...
- Linux下ffmpeg安装与开发配置
Linux下ffmpeg安装与开发配置 1. ffmpeg安装 安装环境: ubuntu 12.04 (1)删除已安装的文件,避免冲突 sudo apt-get remove ffmpeg x26 ...
随机推荐
- 企业诊断屋:在线小说企业如何用A/B测试赋能业务
更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 近两年来,在线小说领域业务发展"降速",相较于几年前的快速扩张,2022年后国内在线小说企 ...
- DataLeap的全链路智能监控报警实践(三): 系统实现
系统实现 整体架构 基线管理模块:负责基线创建.更新.删除等操作,管理基线元信息,包括保障任务,承诺时间,余量及报警配置等): 基线实例生成:系统每天定时触发生成基线实例,生成实例的同时根据保障任务, ...
- Java 事件链
Java中的事件机制的参与者有3种角色: 1. event object:就是事件产生时具体的"事件",用于listener的相应的方法之中,作为参数,一般存在于listerner ...
- 阿里云Imagine Computing创新技术大赛正式开启!
阿里云 Imagine Computing 创新技术大赛,是由阿里云与英特尔主办,阿里云天池平台.边缘云.视频云共同承办的顶级赛事,面向个人开发者和企业的边缘云领域算法及实时音视频应用类挑战. 本次创 ...
- jdk1.8:stream流式分组groupby
package com.example.apidemo.jdk18; import java.math.BigDecimal; import java.util.Arrays; import java ...
- 活动回顾|阿里云 Serverless 技术实战与创新广州站回放&PPT下载
7月8日"阿里云 Serverless 技术实战与创新"广州站圆满落幕.活动受众以关注Serverless 技术的开发者.企业决策人.云原生领域创业者为主,活动形式为演讲.动手实操 ...
- 消息服务 + Serverless 函数计算如何助力企业降本提效?
作者 | 柳下 背景介绍 消息队列服务(下文均以 Message Service 命名)作为云计算 PaaS 领域的基础设施之一,其高并发.削峰填谷的特性愈发受到开发者关注.Message Servi ...
- 六、docker数据卷
系列导航 一.docker入门(概念) 二.docker的安装和镜像管理 三.docker容器的常用命令 四.容器的网络访问 五.容器端口转发 六.docker数据卷 七.手动制作docker镜像 八 ...
- Vue大数据可视化(大屏展示)解决方案
DataV:组件库基于Vue (React版) ,主要用于构建大屏(全屏)数据展示页面即数据可视化 官网地址: http://datav.jiaminghi.com/guide/#%E7%94%A8% ...
- Go 疑难杂症汇总
1. revision v0.0.0: unknown revision v0.0.0 go get -u github.com/uudashr/gopkgs/cmd/gopkgs 报错: [root ...