ubuntu20.04 安装docker,docker-compose

发布时间:2026/9/15 2:46:57

ubuntu20.04 安装docker,docker-compose 版本Ubuntu Focal 20.04 (LTS)一.Docker安装1.如果存在旧版本卸载旧版本旧版本的 Docker 称为docker或者docker-engine使用以下命令卸载旧版本sudo apt-get remove docker \ docker-engine \ docker.io2.使用 APT 安装由于apt源使用 HTTPS 以确保软件下载过程中不被篡改。因此我们首先需要添加使用 HTTPS 传输的软件包以及 CA 证书。sudo apt-get update sudo apt-get install \ apt-transport-https \ ca-certificates \ curl \ gnupg \ lsb-release3.为了确认所下载软件包的合法性需要添加软件源的GPG密钥鉴于国内网络问题这里我们使用阿里云的GPG密钥:curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg4.我们需要向sources.list中添加 Docker 软件源echo \ deb [archamd64 signed-by/usr/share/keyrings/docker-archive-keyring.gpg] https://mirrors.aliyun.com/docker-ce/linux/ubuntu \ $(lsb_release -cs) stable | sudo tee /etc/apt/sources.list.d/docker.list /dev/null5.安装 Docker更新 apt 软件包缓存并安装docker-cesudo apt-get update sudo apt-get install docker-ce docker-ce-cli containerd.io6.启动 Dockersudo systemctl enable docker sudo systemctl start docker7.建立 docker 用户组默认情况下docker命令会使用 Unix socket 与 Docker 引擎通讯。而只有root用户和docker组的用户才可以访问 Docker 引擎的 Unix socket。出于安全考虑一般 Linux 系统上不会直接使用root用户。因此更好地做法是将需要使用docker的用户加入docker用户组建立docker组sudo groupadd docker将当前用户加入docker组usermod -aG docker $USER退出当前终端并重新登录进行如下测试8.测试 Docker 是否安装正确rootzph-IdeaCentre-GeekPro-14IOB:/home/zph# docker version Client: Docker Engine - Community Version: 20.10.12 API version: 1.41 Go version: go1.16.12 Git commit: e91ed57 Built: Mon Dec 13 11:45:33 2021 OS/Arch: linux/amd64 Context: default Experimental: true Server: Docker Engine - Community Engine: Version: 20.10.12 API version: 1.41 (minimum version 1.12) Go version: go1.16.12 Git commit: 459d0df Built: Mon Dec 13 11:43:42 2021 OS/Arch: linux/amd64 Experimental: false containerd: Version: 1.4.13 GitCommit: 9cc61520f4cd876b86e77edfeb88fbcd536d1f9d runc: Version: 1.0.3 GitCommit: v1.0.3-0-gf46b6ba docker-init: Version: 0.19.0 GitCommit: de40ad0$ docker run --rm hello-world Unable to find image hello-world:latest locally latest: Pulling from library/hello-world b8dfde127a29: Pull complete Digest: sha256:308866a43596e83578c7dfa15e27a73011bdd402185a84c5cd7f32a88b501a24 Status: Downloaded newer image for hello-world:latest Hello from Docker! This message shows that your installation appears to be working correctly. To generate this message, Docker took the following steps: 1. The Docker client contacted the Docker daemon. 2. The Docker daemon pulled the hello-world image from the Docker Hub. (amd64) 3. The Docker daemon created a new container from that image which runs the executable that produces the output you are currently reading. 4. The Docker daemon streamed that output to the Docker client, which sent it to your terminal. To try something more ambitious, you can run an Ubuntu container with: $ docker run -it ubuntu bash Share images, automate workflows, and more with a free Docker ID: https://hub.docker.com/ For more examples and ideas, visit: https://docs.docker.com/get-started/说明docker安装成功二.Docker-Compose 安装PIP 安装方式1.先安装pipapt install python3-pip2.安装docker-composesudo pip install -U docker-compose可以看到类似如下输出说明安装成功:Collecting docker-compose Downloading docker_compose-1.29.2-py2.py3-none-any.whl (114 kB) ... Successfully installed attrs-21.4.0 distro-1.7.0 docker-5.0.3 docker-compose-1.29.2 dockerpty-0.4.1 docopt-0.6.2 jsonschema-3.2.0 pyrsistent-0.18.1 python-dotenv-0.19.2 texttable-1.6.4 websocket-client-0.59.0bash 补全命令curl -L https://raw.githubusercontent.com/docker/compose/1.27.4/contrib/completion/bash/docker-compose /etc/bash_completion.d/docker-compose3.卸载sudo pip uninstall docker-composedownload the version of Docker Compos安装方式1.curl下载docker compose#安装1.20版本 Docker Compose sudo curl -L https://github.com/docker/compose/releases/download/1.20.1/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose #安装最新版 Docker Compose sudo curl -L https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose2.对二进制文件应用可执行权限sudo chmod x /usr/local/bin/docker-compose3.测试是否安装成功docker-compose --version出现以下说明安装成功docker-compose version 1.20.1, build 5d8c71b命令的变化:从 Docker Compose v2 开始它已从一个独立的docker-compose命令转变为一个 Docker CLI 的插件形式即docker compose中间是空格而不是连字符旧命令 (v1):docker-compose up新命令 (v2):docker compose up因此安装完成后推荐使用docker compose来执行相关操作
延伸阅读

更多相关文章

2026/9/13 1:54:14

零代码接入DeepSeek-Coder:高性价比AI编程助手实战指南

最近在开发中遇到一个头疼的问题:想用AI辅助写代码,但OpenAI的Codex模型调用成本实在太高,随便跑几个复杂点的函数生成,账单就让人心惊肉跳。很多开发者,尤其是个人开发者或小团队,面对这种“用不起”的困境…

2026/9/2 5:02:54

物联网设备电池管理系统优化与NBM5100A应用实践

1. 项目背景与核心挑战在物联网设备和便携式电子产品设计中,电池管理系统(BMS)的性能直接决定了终端产品的用户体验。以智能穿戴设备为例,当设备需要执行无线数据传输或传感器高频采样时,瞬间电流需求可能达到常规工作模式的10-20倍。这种脉冲…

2026/9/15 2:46:27

深入理解Linux touch命令:时间戳机制与实战技巧

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/15 2:46:27

FastAPI在线课程系统源码解析:JWT认证与SQLAlchemy实践

简介:基于FastAPI框架的在线课程学习系统是一份完整的Python项目源码与说明文档,适合有一定Python基础、正在做毕设或课程设计的开发者参考,也可作为在线教育平台快速原型的搭建模板。压缩包共56个文件,以17个py源码文件与32个pyd…

2026/9/15 2:46:27

2026数据恢复:从误删到物理损坏的五类故障精准应对

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/15 2:41:27

工业自动化GEO优化服务商选型指南:5类画像与合同避坑要点

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/14 2:17:50

拯救者Y7000黑屏故障排查与维修实战指南

1. 项目概述:一台黑屏的拯救者Y7000,到底卡在哪一步? 联想拯救者Y7000系列笔记本,从2018年第一代搭载i5-8300H开始,到后来的i7-9750H、i7-10750H、i5-11400H,再到2023年款的R7-7840HS,它始终是学…

2026/9/15 0:01:16

AI英语单词APP开发:自适应学习算法与移动端优化实践

1. 项目概述 作为一名在移动应用开发领域摸爬滚打多年的老手,我最近完成了一个AI英语单词APP的开发项目。这个项目将传统单词记忆方法与现代AI技术相结合,打造了一款能够智能适应不同用户学习习惯的英语学习工具。 市面上大多数单词APP都存在一个通病&a…

2026/9/15 0:01:16

Flutter与OpenHarmony结合开发手语学习APP实战

1. 项目背景与核心价值作为一名同时接触过Flutter和OpenHarmony的开发者,最近我完成了一个基于Flutter for OpenHarmony的手语学习APP实战项目。这个项目最大的特点在于实现了跨平台框架与国产操作系统深度结合的创新实践——用Flutter开发的应用能完美运行在OpenHa…

2026/9/15 0:01:16

六个月成为机器人工程师:从ROS2到SLAM的实战路径

1. 六个月的紧迫感从哪来:先搞清楚你要成为哪种机器人工程师说实话,六个月的期限并不是一个宽松的时间线。市面上任何一本正经的机器人学教材都超过五百页,ROS2的官方文档可以翻到你怀疑人生,再加上ABB、KUKA这些工业机器人厂家动…

2026/9/14 11:59:31

USB Type-C PCB布局分区设计:电源、高速信号与PD协议全攻略

做硬件这行,Type-C接口算是典型的“看着简单,做起来全坑”的东西。光引脚就24个,高低速信号、电源、控制线全部塞在一个小小的连接器里,如果PCB布局不做规划,打样回来基本就是“插上没反应”、“高速掉线”、“静电一打…

2026/9/14 13:53:59

系统编程学习原型如何补齐稳定性边界

系统编程学习原型如何补齐稳定性边界预算有限时&#xff0c;我先优化明显多余的复制&#xff0c;而不是猜测性地换容器。用借用传递只读数据通常就能减少分配&#xff1a; fn parse(line: &str) -> Result<Item, Error> { /* ... */ }用基准确认热点确实在分配&am…

2026/9/14 11:22:57

雨花区哪家财务公司代理记账比较好?

在雨花区&#xff0c;企业处理财税事务常常面临诸多挑战&#xff0c;选择一家靠谱的财务公司至关重要。湖南巨勤财务管理咨询有限公司就是本地正规实体财税服务机构&#xff0c;深耕本地工商财税行业多年&#xff0c;熟悉当地工商局、税务局最新政策与申报流程。主营公司注册、…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
咨询二维码