网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
sudo apt-get purge docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin docker-ce-rootless-extras
主机上的图像、容器、卷或自定义配置文件不会自动删除。删除所有镜像、容器和卷:
sudo rm -rf /var/lib/docker
sudo rm -rf /var/lib/containerd
您必须手动删除任何已编辑的配置文件。
安装
- Docker Engine 与Docker Desktop for Linux捆绑在一起 。这是最简单快捷的入门方法。
- 从Docker 的apt存储库设置和安装 Docker 引擎 。
- 手动安装并手动管理升级。
- 使用方便的脚本。仅推荐用于测试和开发环境。
使用 apt 存储库安装
设置存储库
更新apt包索引并安装包以允许apt通过 HTTPS 使用存储库:
sudo apt-get update
sudo apt-get install ca-certificates curl gnupg
添加 Docker 的官方 GPG 密钥:
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg
使用以下命令设置存储库:
echo \
"deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
"$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
安装 Docker 引擎
更新apt包索引:
sudo apt-get update
要安装特定版本的 Docker Engine,首先在存储库中列出可用版本:
apt-cache madison docker-ce | awk '{ print $3 }'
选择所需版本并安装:
VERSION_STRING=5:24.0.0-1~ubuntu.20.04~focal
sudo apt-get install docker-ce=$VERSION_STRING docker-ce-cli=$VERSION_STRING containerd.io docker-buildx-plugin docker-compose-plugin
或者直接安装最新版本
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
通过运行hello-world映像验证 Docker 引擎安装是否成功
root@qhdata-dev:~# docker -v
Docker version 24.0.2, build cb74dfc
sudo docker run hello-world
在 Ubuntu 上安装 Docker 桌面(非必要)
参考文章:https://docs.docker.com/desktop/install/ubuntu/
先决条件
要成功安装 Docker Desktop,您必须:
- 满足系统要求
- 拥有 64 位版本的 Ubuntu Jammy Jellyfish 22.04 (LTS) 或 Ubuntu Impish Indri 21.10。x86_64Docker Desktop 在(或)架构上受支持amd64。
- 对于非 Gnome 桌面环境,gnome-terminal必须安装:
sudo apt install gnome-terminal
安装 Docker 桌面
1.设置Docker 的包存储库。
2.下载最新的DEB 包。
3.使用 apt 安装软件包,如下所示:
sudo apt-get update
sudo apt-get install ./docker-desktop-<version>-<arch>.deb
安装后脚本:
- 设置 Docker Desktop 二进制文件的功能以映射特权端口并设置资源限制。
- 将 Kubernetes 的 DNS 名称添加到/etc/hosts.
- 创建一个从/usr/bin/docker到/usr/local/bin/com.docker.cli的链接
启动 Docker 桌面
Docker实例
参考文章:https://www.quanxiaoha.com/docker/docker-look-image.html
参考文章:https://cloud.tencent.com/developer/article/1885678
参考文章:https://www.w3cschool.cn/docker/docker-image-usage.html
docker_hub地址:https://hub.docker.com/search?q=
docker构建一个基础镜像大概流程:
#mermaid-svg-xVTnOG64X7kkn2SQ {font-family:“trebuchet ms”,verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-xVTnOG64X7kkn2SQ .error-icon{fill:#552222;}#mermaid-svg-xVTnOG64X7kkn2SQ .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-xVTnOG64X7kkn2SQ .edge-thickness-normal{stroke-width:2px;}#mermaid-svg-xVTnOG64X7kkn2SQ .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-xVTnOG64X7kkn2SQ .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-xVTnOG64X7kkn2SQ .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-xVTnOG64X7kkn2SQ .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-xVTnOG64X7kkn2SQ .marker{fill:#333333;stroke:#333333;}#mermaid-svg-xVTnOG64X7kkn2SQ .marker.cross{stroke:#333333;}#mermaid-svg-xVTnOG64X7kkn2SQ svg{font-family:“trebuchet ms”,verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-xVTnOG64X7kkn2SQ .label{font-family:“trebuchet ms”,verdana,arial,sans-serif;color:#333;}#mermaid-svg-xVTnOG64X7kkn2SQ .cluster-label text{fill:#333;}#mermaid-svg-xVTnOG64X7kkn2SQ .cluster-label span{color:#333;}#mermaid-svg-xVTnOG64X7kkn2SQ .label text,#mermaid-svg-xVTnOG64X7kkn2SQ span{fill:#333;color:#333;}#mermaid-svg-xVTnOG64X7kkn2SQ .node rect,#mermaid-svg-xVTnOG64X7kkn2SQ .node circle,#mermaid-svg-xVTnOG64X7kkn2SQ .node ellipse,#mermaid-svg-xVTnOG64X7kkn2SQ .node polygon,#mermaid-svg-xVTnOG64X7kkn2SQ .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-xVTnOG64X7kkn2SQ .node .label{text-align:center;}#mermaid-svg-xVTnOG64X7kkn2SQ .node.clickable{cursor:pointer;}#mermaid-svg-xVTnOG64X7kkn2SQ .arrowheadPath{fill:#333333;}#mermaid-svg-xVTnOG64X7kkn2SQ .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-xVTnOG64X7kkn2SQ .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-xVTnOG64X7kkn2SQ .edgeLabel{background-color:#e8e8e8;text-align:center;}#mermaid-svg-xVTnOG64X7kkn2SQ .edgeLabel rect{opacity:0.5;background-color:#e8e8e8;fill:#e8e8e8;}#mermaid-svg-xVTnOG64X7kkn2SQ .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-xVTnOG64X7kkn2SQ .cluster text{fill:#333;}#mermaid-svg-xVTnOG64X7kkn2SQ .cluster span{color:#333;}#mermaid-svg-xVTnOG64X7kkn2SQ div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font