Docker基础【Ubuntu安装/Windows安装】

Docker安装

  • [0. 前言](#0. 前言)
  • [1. Ubuntu下安装Docker](#1. Ubuntu下安装Docker)
    • [1.1 安装依赖](#1.1 安装依赖)
    • [1.2 安装Docker](#1.2 安装Docker)
    • [1.3 Docker镜像源修改](#1.3 Docker镜像源修改)
    • [1.4 Docker目录修改](#1.4 Docker目录修改)
  • [2. GUI版本安装(Windows11)](#2. GUI版本安装(Windows11))
    • [2.1 安装依赖](#2.1 安装依赖)
    • [2.2 安装Docker](#2.2 安装Docker)

0. 前言


生产环境下,我们主要使用的是Docker的Server版本,而不是桌面版本,所以之后的学习中,我们都以Server版本为主。


1. Ubuntu下安装Docker


1.1 安装依赖


  • 操作系统版本(最好都大于等于下面版本)
bash 复制代码
Ubuntu kinetic 22.10
Ubuntu Jammy 22.04 (LTS)
Ubuntu Focal 20.04 (LTS)
Ubuntu Bionic 18.04 (LTS)
  • CPU支持
    • ARM 和 X86_64。

1.2 安装Docker


1. 确定CPU,可以看到我们的是X86_64,是支持的,如果是arm一般会显示aarch64

shell 复制代码
(base) ubuntu@Ubuntu22:~$ uname -a
Linux Ubuntu22 6.8.0-85-generic #85~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Fri Sep 19 16:18:59 UTC 2 x86_64 x86_64 x86_64 GNU/Linux

2. 确定操作系统版本,本次我们使用Ubuntu22.04

bash 复制代码
(base) ubuntu@Ubuntu22:~$ cat /etc/*release*
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=22.04
DISTRIB_CODENAME=jammy
DISTRIB_DESCRIPTION="Ubuntu 22.04.5 LTS"
PRETTY_NAME="Ubuntu 22.04.5 LTS"
NAME="Ubuntu"
VERSION_ID="22.04"
VERSION="22.04.5 LTS (Jammy Jellyfish)"
VERSION_CODENAME=jammy
ID=ubuntu
ID_LIKE=debian
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
UBUNTU_CODENAME=jammy

3. 卸载旧版本,如果是新的服务器,比如输入docker并没有这个命令,就不需要卸载

  • sudo apt-get remove docker docker-engine docker.io containerd runc

4. 卸载历史版本

  • sudo apt-get purge docker-ce docker-ce-cli containerd.io dockerbuildx-plugin docker-compose-plugin docker-ce-rootless-extras -y

5. 配置docker下载源

  • curl 命令安装:sudo apt install curl -y
    • 这个命令相当于一个浏览器,可以访问页面拿到页面源代码。
  • 创建 gpg key 目录:sudo mkdir -m 0755 -p /etc/apt/keyrings
  • 下载 gpg key:curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor --yes -o /etc/apt/keyrings/docker.gpg
    • 作用是校验gpg key,防止下到一些黑客软件。
  • 创建docker源,docker.list:
shell 复制代码
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

6. 刷新源,并安装docker

  • 刷新:sudo apt update
  • 安装:sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y

7. 自动启动配置

shell 复制代码
# 配置加载
sudo systemctl daemon-reload
# 启动服务
sudo systemctl start docker
# 开机启动
sudo systemctl enable docker
# 查看服务状态
sudo systemctl status docker
  • 配置成功显示如下

8. 检查安装结果,查看版本

9. 执行hello-world,可以看到 Hello from Docker!,表明docker服务正常


1.3 Docker镜像源修改


对于使用 systemd 的系统(Ubuntu 16.04+、Debian 8+、CentOS 7),在配置文件 /etc/docker/daemon.json 中加入:

  • 这个文件就是一个配置文件,存放着镜像源的地址和其他配置信息。
bash 复制代码
{
  "registry-mirrors": [
    "https://docker.1ms.run",
    "https://docker.mybacc.com",
    "https://dytt.online",
    "https://lispy.org",
    "https://docker.xiaogenban1993.com",
    "https://docker.yomansunter.com",
    "https://aicarbon.xyz",
    "https://666860.xyz",
    "https://docker.zhai.cm",
    "https://a.ussh.net",
    "https://hub.littlediary.cn",
    "https://hub.rat.dev",
    "https://docker.m.daocloud.io"
  ]
}

重新启动docker:

bash 复制代码
# 重新加载配置文件
sudo systemctl daemon-reload
# 重新启动docker
sudo systemctl restart docker

1.4 Docker目录修改


Docker默认的安装目录为 /var/lib/docker,这里面会存放很多很多镜像,所以我们在安装的时候需要考虑这个目录的空间,有两种解决方案。

  • 将 /var/lib/docker 挂载到一个大的磁盘,这种一般我们能控制挂载目录,像腾讯云这种云厂商在安装K8s节点的时候提供了挂载选项,可以直接挂载这个目录过去。
  • 安装之前挂载一个大的磁盘,然后创建一个软链接到 /var/lib/docker,这样就自动安装到我们空间比较大的磁盘了。
shell 复制代码
# 假定我们磁盘的大的目录为 /data
mkdir -p /data/var/lib/docker
# 编辑配置文件
vi /etc/docker/daemon.json
# 添加如下内容
{
	"data-root": "/data/var/lib/docker"
}
# 加载配置
sudo systemctl daemon-reload
# 重新启动
sudo systemctl restart docker
  • 以上都运行成功后,目标文件夹会出现如下内容:

2. GUI版本安装(Windows11)


2.1 安装依赖


1. 开启虚拟化功能

  • 一般是自动开启的,在任务管理器性能栏可以查看:

2. win + i,启用或关闭Windows功能

  • 开启图中选项,安装这两个组件:

3. 安装WSL2

  • 打开powershell,右键以管理员身份运行:
  • 执行命令,安装适用于Linux的Windows子系统:
    • 这是手动下载,会很快。
powershell 复制代码
# 下载安装包
Invoke-WebRequest -Uri "https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi" -OutFile "$env:TEMP\wsl_update.msi"

# 安装 - 这会显示进度条,更容易监控
msiexec /i "$env:TEMP\wsl_update.msi"

2.2 安装Docker


1. 官网下载

2. 以管理员身份运行安装包

  • 安装成功:

3. 查看docker版本

4. 查看docker信息

5. 测试hello world


相关推荐
todoitbo8 小时前
群晖NAS部署JmalCloud:Docker安装、文件管理、博客与公网访问完整教程
运维·docker·容器
BIBI204910 小时前
换 Git 托管平台怎么做?基于 TortoiseGit 的跨平台迁移教程
windows·git·tortoisegit·问题解决·版本控制·最佳实践
chushiyunen10 小时前
autoHotKey、windows自动化快捷键工具
运维·windows·自动化
燃烧的枫12 小时前
Windows 下 YOLO11 Det 的 TensorRT C++ 部署
pytorch·windows·tensorrt·关键点识别·yolo11
猪八宅百炼成仙13 小时前
让 AI 帮你清理电脑而不翻车:一个 Windows 体检调优 Skill 的工程化设计
人工智能·windows
鱼宵14 小时前
取集合第一个元素,Java 为什么要写三种写法?
java·windows·python·java21
kingx315 小时前
Windows Server 2008 应急加固实战:7 项入侵痕迹排查与修复
数据库·windows·提权·应急响应·加固
是枚小菜鸡儿吖15 小时前
Home Assistant跨品牌智能家居教程:Docker部署、米家接入、vivo桥接与远程访问
docker·容器·智能家居
螺蛳粉 螺蛳粉18 小时前
第 02 篇:镜像分层与 containerd 2.x 实战:SystemdCgroup 与 pause 镜像配置踩坑(底座认知 02)
docker·云原生·容器·kubernetes·etcd·containerd·kube-apiserver
海域云SeaArea_18 小时前
Windows Server 2008 R2 从零安装 IIS7.5(二):php.ini 配置
开发语言·windows·php