Docker安装

hefunghefung
4 分钟阅读
Docker安装

一、Ubuntu安装Docker

1. 系统要求与准备

注意:本文档以 Ubuntu 22.04 LTS 为例进行说明。

在安装 Docker 之前,请确保你的系统满足以下要求:

  • 操作系统:Ubuntu 20.04 或更高版本(推荐使用 LTS 版本)
  • 内核版本:3.10 或更高(可以通过 uname -r 查看)
  • 用户权限:具有 sudo 权限

2. 更新系统软件包

首先,确保你的系统软件包列表是最新的

bash
<span class="token function">sudo</span> <span class="token function">apt-get</span> update

3. 安装必要的依赖工具

安装必要的依赖工具,并设置阿里加速源

bash
<span class="token comment"># 1.安装必要的一些系统工具</span>
<span class="token function">sudo</span> <span class="token function">apt-get</span> <span class="token function">install</span> ca-certificates <span class="token function">curl</span> gnupg <span class="token parameter variable">-y</span>

<span class="token comment"># 2.信任 Docker 的 GPG 公钥</span>
<span class="token function">sudo</span> <span class="token function">install</span> <span class="token parameter variable">-m</span> 0755 <span class="token parameter variable">-d</span> /etc/apt/keyrings
<span class="token function">curl</span> <span class="token parameter variable">-fsSL</span> https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg <span class="token operator">|</span> <span class="token function">sudo</span> gpg <span class="token parameter variable">--dearmor</span> <span class="token parameter variable">-o</span> /etc/apt/keyrings/docker.gpg
<span class="token function">sudo</span> <span class="token function">chmod</span> a+r /etc/apt/keyrings/docker.gpg

<span class="token comment"># 3.写入软件源信息</span>
<span class="token builtin class-name">echo</span> <span class="token punctuation">\</span>
  <span class="token string">"deb [arch=<span class="token variable"><span class="token variable">$(</span>dpkg --print-architecture<span class="token variable">)</span></span> signed-by=/etc/apt/keyrings/docker.gpg] https://mirrors.aliyun.com/docker-ce/linux/ubuntu \
  "</span><span class="token operator">&lt;</span>span <span class="token assign-left variable">class</span><span class="token operator">=</span><span class="token string">"katex-error"</span> <span class="token assign-left variable">title</span><span class="token operator">=</span><span class="token string">"ParseError: KaTeX parse error: Expected &amp;#x27;EOF&amp;#x27;, got &amp;#x27;&amp;amp;&amp;#x27; at position 20: …etc/os-release &amp;amp;̲&amp;amp; echo &amp;quot;"</span> <span class="token assign-left variable">style</span><span class="token operator">=</span><span class="token string">"color:#cc0000"</span><span class="token operator">></span><span class="token punctuation">(</span><span class="token builtin class-name">.</span> /etc/os-release <span class="token operator">&amp;</span>amp<span class="token punctuation">;</span><span class="token operator">&amp;</span>amp<span class="token punctuation">;</span> <span class="token builtin class-name">echo</span> <span class="token operator">&amp;</span>quot<span class="token punctuation">;</span><span class="token operator">&lt;</span>/span<span class="token operator">></span>VERSION_CODENAME<span class="token string">")"</span> stable" <span class="token operator">|</span> <span class="token punctuation">\</span>
  <span class="token function">sudo</span> <span class="token function">tee</span> /etc/apt/sources.list.d/docker.list <span class="token operator">></span> /dev/null

<span class="token comment"># 4.更新软件源列表</span>
<span class="token function">sudo</span> <span class="token function">apt-get</span> update

4. 安装Docker

bash
<span class="token comment"># 4.安装Docker</span>
<span class="token function">sudo</span> <span class="token function">apt-get</span> <span class="token function">install</span> docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin <span class="token parameter variable">-y</span>

<span class="token comment"># (扩展)安装指定版本Docker</span>
<span class="token comment"># 1.查找Docker-CE的版本:</span>
<span class="token function">apt-cache</span> madison docker-ce
<span class="token comment">#   docker-ce | 17.03.1~ce-0~ubuntu-xenial | https://mirrors.aliyun.com/docker-ce/linux/ubuntu xenial/stable amd64 Packages</span>
<span class="token comment">#   docker-ce | 17.03.0~ce-0~ubuntu-xenial | https://mirrors.aliyun.com/docker-ce/linux/ubuntu xenial/stable amd64 Packages</span>
<span class="token comment"># 2.安装指定版本Docker</span>
<span class="token function">apt-get</span> <span class="token parameter variable">-y</span> <span class="token function">install</span> docker-ce<span class="token operator">=</span><span class="token punctuation">[</span>VERSION<span class="token punctuation">]</span>

5. 启动docker并设置开机自启

bash
<span class="token function">sudo</span> systemctl <span class="token builtin class-name">enable</span> <span class="token function">docker</span>
<span class="token function">sudo</span> systemctl start <span class="token function">docker</span>

6. 验证docker安装成功

bash
<span class="token function">docker</span> <span class="token parameter variable">-v</span>       
<span class="token comment"># Docker version 28.3.1, build 38b7060</span>

二、Windows安装Docker

官网链接https://www.docker.com

docker官网
官网下载安装包,安装完成后,打开 Docker Desktop,点击启动按钮,等待 Docker 启动完成。

三、二进制安装Docker

下载地址https://download.docker.com/linux/static/stable/

选择您的硬件平台,然后下载.tgz与要安装的Docker Engine相关的文件。

bash
<span class="token comment"># 1.解压docker文件</span>
<span class="token function">tar</span> <span class="token parameter variable">-zxvf</span> docker-28.3.1.tgz

<span class="token comment"># 2.将docker目录下所有文件移动到/usr/bin目录下</span>
<span class="token function">mv</span> docker/* /usr/bin/

<span class="token comment"># 3.创建 containerd.service 文件</span>
<span class="token function">cat</span> <span class="token operator">></span>/etc/systemd/system/containerd.service <span class="token operator">&lt;&lt;</span><span class="token string">EOF
[Unit]
Description=containerd container runtime
Documentation=https://containerd.io
After=network.target local-fs.target

[Service]
ExecStartPre=-/sbin/modprobe overlay
ExecStart=/usr/bin/containerd
Type=notify
Delegate=yes
KillMode=process
Restart=always
RestartSec=5
LimitNPROC=infinity
LimitCORE=infinity
LimitNOFILE=1048576
TasksMax=infinity
OOMScoreAdjust=-999

[Install]
WantedBy=multi-user.target
EOF</span>

<span class="token comment"># 4.创建 docker.socket 文件</span>
<span class="token function">cat</span> <span class="token operator">></span> /etc/systemd/system/docker.socket <span class="token operator">&lt;&lt;</span><span class="token string">EOF
[Unit]
Description=Docker Socket for the API

[Socket]
ListenStream=/var/run/docker.sock
SocketMode=0660
SocketUser=root

[Install]
WantedBy=sockets.target
EOF</span>

<span class="token comment"># 5.创建 docker.service 文件</span>
<span class="token function">cat</span> <span class="token operator">></span> /etc/systemd/system/docker.service <span class="token operator">&lt;&lt;</span><span class="token string">EOF
[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network-online.target firewalld.service containerd.service
Wants=network-online.target
Requires=docker.socket containerd.service

[Service]
Type=notify
ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
ExecReload=/bin/kill -s HUP \<span class="token variable">$MAINPID</span>
TimeoutSec=0
RestartSec=2
Restart=always
StartLimitBurst=3
StartLimitInterval=60s
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity
TasksMax=infinity
Delegate=yes
KillMode=process
OOMScoreAdjust=-500

[Install]
WantedBy=multi-user.target
EOF</span>

<span class="token comment"># 6.启动docker并设置开机自启</span>
systemctl daemon-reload
systemctl <span class="token builtin class-name">enable</span> <span class="token parameter variable">--now</span> containerd.service
systemctl <span class="token builtin class-name">enable</span> <span class="token parameter variable">--now</span> docker.socket
systemctl <span class="token builtin class-name">enable</span> <span class="token parameter variable">--now</span> docker.service

四、一键脚本安装Docker

bash
<span class="token function">curl</span> <span class="token parameter variable">-s</span> https://cnb.cool/dadong.cnb/cloud/lfs/-/git/raw/main/docker/install-docker.sh <span class="token operator">|</span> <span class="token function">bash</span>

五、Docker镜像加速

镜像加速器可以加速 Docker 镜像的下载,从而提高镜像的拉取速度。
找到Docker 的配置文件,通常在 /etc/docker/daemon.json 中,如果没有该文件,则创建一个。

bash
<span class="token comment"># 1.创建docker目录</span>
<span class="token function">sudo</span> <span class="token function">mkdir</span> <span class="token parameter variable">-p</span> /etc/docker

<span class="token comment"># 2.写入加速器地址</span>
<span class="token function">sudo</span> <span class="token function">tee</span> /etc/docker/daemon.json <span class="token operator">&lt;&lt;</span><span class="token string">EOF
{
  "registry-mirrors": [
    "https://docker.1panel.live",
    "https://docker.1ms.run",
    "https://docker.xuanyuan.me"
  ]
}
EOF</span>

<span class="token comment"># 3.重启docker</span>
<span class="token function">sudo</span> systemctl daemon-reload
<span class="token function">sudo</span> systemctl restart <span class="token function">docker</span>
hefung

hefung

发布于 2025年08月30日

更新于 2025年10月27日

评论

暂无评论。

欢迎到原文中评论及订阅。