help: docker-ce: fix mkdir keyring

Closes https://github.com/tuna/issues/issues/1707
See https://github.com/mirrorz-org/mirrorz-help/pull/76
This commit is contained in:
Zenithal 2023-04-01 08:35:26 +00:00
parent 1ed3fc2de4
commit 2d66ab4f07
No known key found for this signature in database
GPG Key ID: 1189C659F3D04C1C

View File

@ -1,12 +1,35 @@
---
mirrorid: docker-ce
layout: help
category: help
layout: help
mirrorid: docker-ce
---
## Docker Community Edition 镜像使用帮助
# Docker CE 软件仓库镜像使用帮助
**注意: 本镜像只提供 Debian/Ubuntu/Fedora/CentOS/RHEL 的 docker 软件包,非 dockerhub**
<form class="form-inline">
<div class="form-group">
<label>是否使用 HTTPS</label>
<select id="http-select" class="form-control content-select" data-target="#content-0,#content-1,#content-2,#content-3,#content-4,#content-5,#content-6,#content-7,#content-8">
<option data-http_protocol="https://" selected></option>
<option data-http_protocol="http://"></option>
</select>
</div>
</form>
<form class="form-inline">
<div class="form-group">
<label>是否使用 sudo</label>
<select id="sudo-select" class="form-control content-select" data-target="#content-0,#content-1,#content-2,#content-3,#content-4,#content-5,#content-6,#content-7,#content-8">
<option data-sudo="sudo " selected></option>
<option data-sudo=""></option>
</select>
</div>
</form>
**注意:本镜像只提供 Debian/Ubuntu/Fedora/CentOS/RHEL 的 docker 软件包,非 dockerhub**
### 自动安装
@ -17,67 +40,116 @@ Docker 提供了一个自动配置与安装的脚本,支持 Debian、RHEL、SU
- 您为 root 用户,或有 sudo 权限,或知道 root 密码;
- 您系统上有 curl 或 wget
```bash
export DOWNLOAD_URL="https://{{ site.hostname }}/docker-ce"
{% raw %}
<script id="template-0" type="x-tmpl-markup">
export DOWNLOAD_URL="{{http_protocol}}{{mirror}}"
# 如您使用 curl
curl -fsSL https://get.docker.com/ | sh
curl -fsSL https://get.docker.com/ | {{sudo}}sh
# 如您使用 wget
wget -O- https://get.docker.com/ | sh
```
wget -O- https://get.docker.com/ | {{sudo}}sh
</script>
{% endraw %}
<p></p>
<pre>
<code id="content-0" class="language-bash" data-template="#template-0" data-select="#http-select,#sudo-select">
</code>
</pre>
### Debian/Ubuntu 用户
以下内容根据 [官方文档](https://docs.docker.com/engine/install/debian/) 修改而来。
如果你过去安装过 docker先删掉:
如果你过去安装过 docker先删掉
{% raw %}
<script id="template-1" type="x-tmpl-markup">
{{sudo}}apt-get remove docker docker-engine docker.io containerd runc
</script>
{% endraw %}
<p></p>
<pre>
<code id="content-1" class="language-bash" data-template="#template-1" data-select="#http-select,#sudo-select">
</code>
</pre>
首先安装依赖:
{% raw %}
<script id="template-2" type="x-tmpl-markup">
{{sudo}}apt-get install apt-transport-https ca-certificates curl gnupg2 software-properties-common
</script>
{% endraw %}
<p></p>
<pre>
<code id="content-2" class="language-bash" data-template="#template-2" data-select="#http-select,#sudo-select">
</code>
</pre>
信任 Docker 的 GPG 公钥并添加仓库:
```bash
sudo apt-get remove docker docker-engine docker.io containerd runc
```
首先安装依赖:
```bash
sudo apt-get install apt-transport-https ca-certificates curl gnupg2 software-properties-common
```
<form class="form-inline">
<div class="form-group">
<label>根据你的发行版,下面的内容有所不同。你使用的发行版: </label>
<select class="form-control" v-model="deb_release">
<option value="debian" selected>Debian</option>
<option value="ubuntu">Ubuntu</option>
</select>
<label>发行版:</label>
<select id="select-3-0" class="form-control content-select" data-target="#content-3">
<option data-deb_release="debian" selected>Debian</option>
<option data-deb_release="ubuntu">Ubuntu</option>
</select>
</div>
</form>
信任 Docker 的 GPG 公钥:
{% raw %}
<p></p>
<pre>
<code id="deb-gpg-content">curl -fsSL https://download.docker.com/linux/{{ deb_release }}/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg</code>
</pre>
<script id="template-3" type="x-tmpl-markup">
{{sudo}}mkdir -m 0755 -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/{{deb_release}}/gpg | {{sudo}}gpg --dearmor -o /etc/apt/keyrings/docker.gpg
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] {{http_protocol}}{{mirror}}/linux/{{deb_release}} \
$(lsb_release -cs) stable" | {{sudo}}tee /etc/apt/sources.list.d/docker.list > /dev/null
</script>
{% endraw %}
添加软件仓库:
{% raw %}
<p></p>
<pre>
<code class="language-bash">echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://{%endraw%}{{ site.hostname }}{%raw%}/docker-ce/linux/{{deb_release}} \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null</code>
<code id="content-3" class="language-bash" data-template="#template-3" data-select="#http-select,#sudo-select,#select-3-0">
</code>
</pre>
{% endraw %}
最后安装
```bash
sudo apt-get update
sudo apt-get install docker-ce
```
{% raw %}
<script id="template-4" type="x-tmpl-markup">
{{sudo}}apt-get update
{{sudo}}apt-get install docker-ce
</script>
{% endraw %}
<p></p>
<pre>
<code id="content-4" class="language-bash" data-template="#template-4" data-select="#http-select,#sudo-select">
</code>
</pre>
### Fedora/CentOS/RHEL
@ -85,57 +157,85 @@ sudo apt-get install docker-ce
如果你之前安装过 docker请先删掉
```bash
sudo yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine
```
{% raw %}
<script id="template-5" type="x-tmpl-markup">
{{sudo}}yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine
</script>
{% endraw %}
<p></p>
<pre>
<code id="content-5" class="language-bash" data-template="#template-5" data-select="#http-select,#sudo-select">
</code>
</pre>
安装一些依赖
```bash
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
```
{% raw %}
<script id="template-6" type="x-tmpl-markup">
{{sudo}}yum install -y yum-utils device-mapper-persistent-data lvm2
</script>
{% endraw %}
<p></p>
<pre>
<code id="content-6" class="language-bash" data-template="#template-6" data-select="#http-select,#sudo-select">
</code>
</pre>
下载 repo 文件,并把软件仓库地址替换为镜像站:
<form class="form-inline">
<div class="form-group">
<label>根据你的发行版下载repo文件: </label>
<select class="form-control" v-model="yum_release">
<option value="centos" selected>CentOS/RHEL</option>
<option value="fedora">Fedora</option>
</select>
<label>发行版:</label>
<select id="select-7-0" class="form-control content-select" data-target="#content-7">
<option data-yum_release="centos" selected>CentOS/RHEL</option>
<option data-yum_release="fedora">Fedora</option>
</select>
</div>
</form>
{% raw %}
<p></p>
<pre>
<code id="yum-content">yum-config-manager --add-repo https://download.docker.com/linux/{{ yum_release }}/docker-ce.repo</code>
</pre>
{% endraw %}
把软件仓库地址替换为 TUNA:
```bash
sudo sed -i 's+download.docker.com+{{ site.hostname }}/docker-ce+' /etc/yum.repos.d/docker-ce.repo
```
最后安装:
```bash
sudo yum makecache fast
sudo yum install docker-ce
```
{% raw %}
<script>
var vue = new Vue({
el: "#help-content",
data: {
deb_release: 'debian',
yum_release: 'centos'
},
computed: {
}
});
<script id="template-7" type="x-tmpl-markup">
yum-config-manager --add-repo https://download.docker.com/linux/{{yum_release}}/docker-ce.repo
{{sudo}}sed -i 's+https://download.docker.com+{{http_protocol}}{{mirror}}+' /etc/yum.repos.d/docker-ce.repo
</script>
{% endraw %}
<p></p>
<pre>
<code id="content-7" class="language-bash" data-template="#template-7" data-select="#http-select,#sudo-select,#select-7-0">
</code>
</pre>
最后安装:
{% raw %}
<script id="template-8" type="x-tmpl-markup">
{{sudo}}yum makecache fast
{{sudo}}yum install docker-ce
</script>
{% endraw %}
<p></p>
<pre>
<code id="content-8" class="language-bash" data-template="#template-8" data-select="#http-select,#sudo-select">
</code>
</pre>