12 KiB
hide
| hide | |||
|---|---|---|---|
|
如果觉得这个项目不错对您有所帮助的话,请点击仓库右上角的 Star 并分享给更多的朋友 :octicons-heart-fill-24:{ .heart style="color: red" }
!!! tip inline end "本项目脚本已被众多开源项目使用,广受社区用户好评"
:simple-docker:{style="color: #1d63ed"} Docker 安装脚本
!!! 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)
```
=== ":simple-jsdelivr: jsDelivr(CDN)"
``` bash
bash <(curl -sSL https://cdn.jsdelivr.net/gh/SuperManito/LinuxMirrors@main/DockerInstallation.sh)
```
集成安装 Docker Engine 和 Docker Compose (插件),支持选择或更换软件源以及镜像仓库、安装指定版本、重装等功能,支持 ARM 架构处理器
脚本参考 官方文档 采用官方提供的方法使用系统包管理工具进行安装,这意味着可安装的版本是由官方仓库决定的,本脚本不存在兼容性等问题。
注: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纯净模式,精简打印内容 无 软件源完整格式
<WEB协议>://<软件源地址(域名或IP)>/<软件源仓库(路径)>-
指定 Docker CE 软件源地址
bash <(curl -sSL https://linuxmirrors.cn/docker.sh) --source mirror.example.com/docker-ce注意该地址路径需要包含镜像站的 Docker CE 软件源仓库路径即
docker-ce -
指定镜像仓库地址
bash <(curl -sSL https://linuxmirrors.cn/docker.sh) --source-registry registry.example.com -
指定 Docker CE 软件源仓库
脚本默认会自动判断一般无需指定,除非你有特殊需求
bash <(curl -sSL https://linuxmirrors.cn/docker.sh) --branch centos仓库名是固定的,目前只有
centosdebianfedoraraspbianrhelslesstaticubuntu这几个
具体详见 官方安装文档 和 Docker CE 官方仓库 -
指定 Docker CE 安装版本
指定安装版本时会忽略
是否安装最新版本的命令选项,格式为主版本.次版本.补丁版本,例如27.4.1。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 <(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 <(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` 卸载完成后重新执行脚本安装即可