--- hide: - navigation - feedback - footer --- > 如果觉得这个项目不错对您有所帮助的话,请点击仓库右上角的 Star 并分享给更多的朋友 :octicons-heart-fill-24:{ .heart style="color: red" } !!! tip inline end "本项目脚本已被众多开源项目使用,广受社区用户好评" ## :simple-docker:{style="color: #1d63ed"} Docker 安装脚本
Debian Red Hat Enterprise Linux
Ubuntu Fedora
Kali Linux CentOS
Linux Mint Rocky Linux
Deepin(深度) AlmaLinux
Zorin OS openEuler(开源欧拉)
Armbian OpenCloudOS(鸥栖)
Proxmox VE Anolis OS(龙蜥)
Raspberry Pi OS
!!! quote "" === ":linuxmirrors: 官网(推荐)" ``` bash bash <(curl -sSL https://linuxmirrors.cn/docker.sh) ``` === ":simple-github: GitHub" ``` bash bash <(curl -sSL https://raw.githubusercontent.com/SuperManito/LinuxMirrors/main/DockerInstallation.sh) ``` === ":simple-gitee: Gitee 码云 (镜像仓库)" ``` bash bash <(curl -sSL https://gitee.com/SuperManito/LinuxMirrors/raw/main/DockerInstallation.sh) ``` > 实时同步、无延迟,国内网络环境下推荐使用 === ":gitcode: GitCode (镜像仓库)" ``` bash bash <(curl -sSL https://raw.gitcode.com/gh_mirrors/li/LinuxMirrors/raw/main/DockerInstallation.sh) ``` > 本项目已加入 GitHub 加速计划,同步存在1小时延迟 === ":simple-jsdelivr: jsDelivr (CDN)" ``` bash bash <(curl -sSL https://cdn.jsdelivr.net/gh/SuperManito/LinuxMirrors@main/DockerInstallation.sh) ``` 集成安装 [`Docker Engine`](https://docs.docker.com/engine) 和 [`Docker Compose (插件)`](https://docs.docker.com/compose/install/linux),支持选择或更换软件源以及镜像仓库、安装指定版本、重装等功能,支持 ARM 架构处理器 脚本参考 [官方文档](https://docs.docker.com/engine/install) 采用官方提供的方法使用系统包管理工具进行安装,这意味着可安装的版本是由官方仓库决定的,本脚本不存在兼容性等问题。 > 注:Docker Compose 自 V2 版本起开始作为 Docker CLI 的一部分,不再需要单独安装,请使用 `docker compose` 命令替代 `docker-compose` !!! node "软件源说明" `Docker CE` 软件仓库,全称 Docker Community Edition(Docker 社区版),用于下载并安装 Docker 相关软件包 `Docker Registry` 镜像仓库,用于控制拉取镜像的默认来源存储仓库,又称镜像加速器,默认为官方的 Docker Hub 仓库 由于一些不可抗力的因素,目前国内网络环境一般无法正常访问 Docker Hub 因此无法拉取镜像,使用推荐的镜像源勉强能够使用不过速度可能会很慢 - ### 命令选项(高级用法) ``` $ bash <(curl -sSL https://linuxmirrors.cn/docker.sh) --help 命令选项(名称/含义/值): --source 指定 Docker CE 源地址(域名或IP) 地址 --source-registry 指定镜像仓库地址(域名或IP) 地址 --branch 指定 Docker CE 源仓库(路径) 仓库名 --codename 指定 Debian 系操作系统的版本代号 代号名称 --designated-version 指定 Docker CE 安装版本 版本号 --protocol 指定 Docker CE 源的 WEB 协议 http 或 https --install-latest 是否安装最新版本的 Docker Engine true 或 false --close-firewall 是否关闭防火墙 true 或 false --clean-screen 是否在运行前清除屏幕上的所有内容 true 或 false --ignore-backup-tips 忽略覆盖备份提示 无 --pure-mode 纯净模式,精简打印内容 无 ``` | 名称 | 含义 | 选项值 | | :-: | :-: | :-: | | `--source` | 指定 `Docker CE` 源地址(域名或IP) | `地址` | | `--source-registry` | 指定镜像仓库地址(域名或IP) | `地址` | | `--branch` | 指定 Docker CE 源仓库 | `仓库名(详见下方文档)` | | `--codename` | 指定 Debian 系操作系统的版本代号 | `代号名称` | | `--designated-version` | 指定 `Docker CE` 安装版本 | `版本号(详见下方文档)` | | `--protocol` | 指定 `Docker CE` 源的 WEB 协议 | `http` 或 `https` | | `--install-latest` | 是否安装最新版本的 Docker Engine | `true` 或 `false` | | `--close-firewall` | 是否关闭防火墙 | `true` 或 `false` | | `--clean-screen` | 是否在运行前清除屏幕上的所有内容 | `true` 或 `false` | | `--ignore-backup-tips` | 忽略覆盖备份提示(即不覆盖备份) | 无 | | `--pure-mode` | 纯净模式,精简打印内容 | 无 | > 软件源完整格式 `://<软件源地址(域名或IP)>/<软件源仓库(路径)>` - #### 指定 Docker CE 软件源地址 ``` { .bash .no-copy } bash <(curl -sSL https://linuxmirrors.cn/docker.sh) --source mirror.example.com/docker-ce ``` > 注意该地址路径需要包含镜像站的 Docker CE 软件源仓库路径即 `docker-ce` - #### 指定镜像仓库地址 ``` { .bash .no-copy } bash <(curl -sSL https://linuxmirrors.cn/docker.sh) --source-registry registry.example.com ``` - #### 指定 Docker CE 软件源仓库 脚本默认会自动判断一般无需指定,除非你有特殊需求 ``` { .bash .no-copy } bash <(curl -sSL https://linuxmirrors.cn/docker.sh) --branch centos ``` > 仓库名是固定的,目前只有 `centos` `debian` `fedora` `raspbian` `rhel` `sles` `static` `ubuntu` 这几个 > 具体详见 [官方安装文档](https://docs.docker.com/engine/install) 和 [Docker CE 官方仓库](https://download.docker.com/linux) - #### 指定 Docker CE 安装版本 指定安装版本时会忽略 `是否安装最新版本` 的命令选项,格式为 `主版本.次版本.补丁版本`,例如 `27.4.1`。 ``` { .bash .no-copy } bash <(curl -sSL https://linuxmirrors.cn/docker.sh) --designated-version 27.0.0 ``` > 如果指定的版本不存在或者不支持当前系统,届时脚本会报错跳出 ??? quote "查看版本列表的方法" === "Debian 系" ``` bash apt-cache madison docker-ce | awk '{print $3}' | grep -Eo "[0-9][0-9].[0-9]{1,2}.[0-9]{1,2}" | sort -t '.' -k1,1nr -k2,2nr -k3,3nr ``` > `Debian`   `Ubuntu`   `Kali`   `Linux Mint`   `Deepin`   `Zorin OS`   `Armbian`   `Proxmox VE`   `Raspberry Pi OS` === "RedHat 系 / openEuler / OpenCloudOS / Anolis OS" ``` bash dnf list docker-ce --showduplicates | sort -r | awk '{print $2}' | grep -Eo "[0-9][0-9].[0-9]{1,2}.[0-9]{1,2}" | sort -t '.' -k1,1nr -k2,2nr -k3,3nr ``` > `Red Hat Enterprise Linux`   `CentOS`   `Rocky Linux`   `AlmaLinux`   `Fedora`   `openEuler`   `OpenCloudOS`   `Anolis OS` 未出现在该列表中的版本则不支持通过本脚本安装,如果获取不到版本列表说明你当前的系统环境还没有正确配置 Docker CE 软件源(运行脚本时不存在该问题) - #### 无人值守(自动化) 不通过交互完成安装操作,至少需要使用如下命令选项来实现,建议熟悉后再使用 ``` { .bash .no-copy title="参考命令" } bash <(curl -sSL https://linuxmirrors.cn/docker.sh) \ --source mirror.example.com/docker-ce \ --source-registry registry.hub.docker.com \ --protocol http \ --use-intranet-source false \ --install-latest true \ --close-firewall true \ --ignore-backup-tips ``` > 如果报错 `命令选项无效` 那么请检查选项合法性以及空格字符编码,示例中选项一行写一个是为了提高阅读性 - #### 纯净模式 为了便于开发者使用所推出的功能,启用后会精简脚本内容输出,建议搭配其它命令选项无交互使用 ``` bash bash <(curl -sSL https://linuxmirrors.cn/docker.sh) --pure-mode ``` !!! tip "滚动输出的命令日志可能存在无法预料的显示问题,不过目前暂未发现异常" - ### 关于服务报错无法启动 !!! quote "" 非新装环境可能会在运行脚本后遇到 `Docker` 服务无法启动的情况,建议重新安装来解决,卸载不会删除本地镜像和容器数据 卸载命令如下: === "Debian 系" ``` bash apt-get remove -y docker* containerd.io runc && apt-get autoremove ``` > `Debian`   `Ubuntu`   `Kali`   `Linux Mint`   `Deepin`   `Zorin OS`   `Armbian`   `Proxmox VE`   `Raspberry Pi OS` === "RedHat 系 / openEuler / OpenCloudOS / Anolis OS" ``` bash yum remove -y docker* containerd.io podman* runc ``` > `Red Hat Enterprise Linux`   `CentOS`   `Rocky Linux`   `AlmaLinux`   `Fedora`   `openEuler`   `OpenCloudOS`   `Anolis OS` 卸载完成后重新执行脚本安装即可