【Docker】ubuntu下安装Docker和Docker-Compose

2023-05-16

文章目录

  • 一、先决条件
    • (一)操作系统要求
    • (二)卸载旧版本Docker
  • 二、安装Docker
    • (一)使用存储库安装Docker
  • 三、安装Docker-Compose
    • (一)安装Docker-Compose
    • (二)检验是否安装成功
    • (三)设置Docker Group
  • 四、配置Docker镜像加速器

安装步骤均参考官网的推荐方式,其他安装方法也可参照官网。
Docker安装参考:https://docs.docker.com/engine/install/ubuntu/
Docker-Compose安装参考:https://docs.docker.com/compose/install/

一、先决条件

在这里插入图片描述

(一)操作系统要求

要安装 Docker Engine,您需要这些 Ubuntu 之一的 64 位版本 版本:

Ubuntu Jammy 22.04 (LTS)
Ubuntu Impish 21.10
Ubuntu Focal 20.04 (LTS)
Ubuntu Bionic 18.04 (LTS)

(二)卸载旧版本Docker

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

二、安装Docker

可以参考:https://www.runoob.com/docker/ubuntu-docker-install.html

安装Docker一种有三种方法:

  • 从Docker存储库里面安装(推荐)
  • 下载DEB包,手动安装手动升级
  • 使用自动化脚本安装

(一)使用存储库安装Docker

1、更新apt包索引和安装包:

  sudo apt-get update

 sudo apt-get install \
    ca-certificates \
    curl \
    gnupg \
    lsb-release

2、添加Docker 的官方 GPG 密钥:

 sudo mkdir -p /etc/apt/keyrings

 curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

3、使用以下命令设置存储库

 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

4、安装最新版Docker引擎

 sudo apt-get update

 sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin

5、检验Docker安装效果

 sudo docker run hello-world

在这里插入图片描述

三、安装Docker-Compose

(一)安装Docker-Compose

 sudo apt-get update

 sudo apt-get install docker-compose-plugin

(二)检验是否安装成功

docker compose version

在这里插入图片描述

(三)设置Docker Group

为了能在非sudo模式下使用Docker, 需要将当前用户加入Docker Group.

sudo usermod -aG docker $USER

为了使上述变更生效,需要将电脑重启。

四、配置Docker镜像加速器

可以参考:https://www.runoob.com/docker/docker-mirror-acceleration.html

1、建议配置阿里云Docker镜像加速器,在阿里云官网,搜索“容器镜像服务”
在这里插入图片描述
2、选择“管理控制台”
在这里插入图片描述
3、在“镜像加速器”一栏,按照提示配置镜像加速器
在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【Docker】ubuntu下安装Docker和Docker-Compose 的相关文章

  • docker 容器中 PostgreSQL 的权限问题

    我正在尝试使用 PostgreSQL 运行一个 docker 映像 该映像配置了一个用于持久数据的卷 docker compose yml version 3 1 services db image postgres restart alw
  • Wercker 设置环境耗时过长,导致构建失败

    我制造了一个码头工人图像 https hub docker com r shackra latex ebook 为了将它与我在 Wercker 中的项目构建一起使用 我这样做是因为我认为已经在环境中安装了 require 包比在项目的每个构
  • Laravel 路由使用 nginx 覆盖 phpmyadmin 路径

    我的 LEMP Droplet 上有以下 nginx 配置 server listen 80 default server listen 80 default server ipv6only on root var www html pub
  • Docker 1.10 通过主机名从主机访问容器

    我有带有嵌入式 DNS 服务的 Docker 版本 1 10 我在 docker compose 文件中创建了两个服务容器 它们可以通过主机名和 IP 相互访问 但是当我想从主机访问其中之一时 它不起作用 它仅适用于 IP 但不适用于主机名
  • Kubernetes 应用服务但端点没有

    当我尝试将服务应用于 pod 时 端点始终为 none 有人可以知道任何根本原因吗 我还检查选择器是否与deployment yaml 中定义的内容匹配 下面是我使用的部署 服务文件 我还附上了服务描述 部署 yaml apiVersion
  • “Docker 子网”有什么用?

    docker desktop 中有一个选项允许更改 Docker 子网 我没有看到这个默认子网192 168 65 0 28被用在任何地方 我尝试过了docker network inspect在每个 Docker 内部网络上 检查了 do
  • Windows 上的 Jenkins 与 Docker - 无法运行程序“nohup”

    我正在使用Jenkins Azure VM 代理插件 https plugins jenkins io azure vm agents与 Linux Master 一起在 Windows 代理上启动作业 我已经完成了所有配置步骤 一切正常
  • 导出使用 docker-compose 创建的容器

    我创建了一系列容器docker 撰写 其中一些容器按照定义在容器中的一些规则相互通信 docker compose yml file 我需要将这些容器从serverA to serverB 相同的操作系统 但我在理解它是如何工作的方面遇到了
  • 如何使用 python 或 CL 将文件复制到剪贴板,然后使用 STRG+V 粘贴它?

    我正在尝试将文件复制 使用 python 或 CL 命令 然后可以使用 python 调用 到剪贴板 以便稍后使用 STRG V 粘贴它 据我了解 文件不会 移动 到剪贴板中 而是剪贴板保存路径和告诉操作系统 这是一个文件 的参数 标志 我
  • 与本机 Windows NPM/Yarn 处理相比,为什么 WSL 极其缓慢?

    我最近经常使用 WSL 因为我需要一些本机 UNIX 工具 并且模拟器还不够好 我注意到使用 NPM Yarn 时的速度差异令人难以置信 我进行了一个简单的测试 证实了我的感受 测试正在运行npx create react app my t
  • Titanium SDK 在 Ubuntu 12.04 上无法识别 Titanium CLI、node、alloy 或 npm

    Titanium SDK 在 Ubuntu 12 04 上无法识别 Titanium CLI node alloy 或 npm 我按照此处的 Titanium SDK 安装说明进行操作 http docs appcelerator com
  • git 忽略文件模式配置不起作用

    我在 ubuntu Linux 服务器上使用 gitolite git 服务器 我使用了一个钩子 它将在每次推送时调用并更新服务器的目录 其中包括实时站点的源代码 现在 每当我在本地电脑上更改某些内容并将更改推送到服务器时 都会调用挂钩并且
  • 如何启动docker容器(ubuntu镜像)

    如何统计 Docker 容器 我是用它创建的 docker run d P v Users bsr usr local users name test ubuntu 我确实安装了虚拟盒来宾附加功能 并且安装工作正常 但是 我不知道为什么我不
  • VSCode【远程开发】【转发端口】如何工作?

    使用 VSCode 时远程开发 https marketplace visualstudio com items itemName ms vscode remote vscode remote extensionpack Open Fold
  • Debian - /usr/bin/env: 'php\r': 没有这样的文件或目录

    所以当我跑步时 直接讨论问题 yii似乎我从 Debian stretch 中收到了从 Docker 运行的错误 然而当我跑步时 usr bin env php v我得到了正确的输出 没有问题 似乎新行被翻译为字符串时出现问题 我不知道如何
  • 根据情况启动docker容器

    Problem 我有一个包含 6 个服务的 docker compose yml 当我执行 docker compose up 时 所有 6 个容器都会启动 但我需要 2 个容器来最初开始工作 并根据条件休息 4 个容器 描述 组合中的 6
  • 关闭终端后保持express进程存活

    我试图在关闭终端后保持进程正常运行 是一个带有express的node js项目 基本上 对于其他进程 我通过以下方式保持进程处于活动状态 node server js 我这样就可以完成 SSH 连接并关闭控制台 但对于 Express 我
  • Docker LABEL 用于在多阶段构建中访问构建镜像

    在 CI 构建期间 我通过添加以下内容从多阶段 Docker 构建 测试报告 中的构建映像中提取构建工件 LABEL构建步骤 然后使用带标签的图像创建一个容器以提取工件 这似乎在 Mac 版 Docker Desktop 中被破坏了 或者我
  • 使用 apache poi 读取 .xlsx 文件在 Linux 机器上给出 org.apache.poi.POIXMLException

    我有一个应用程序读取 xlsx 文件并向用户显示内容 该应用程序在 Windows 环境下运行良好 我在 ubuntu 服务器上的 tomcat6 上部署了此 Web 应用程序的 war 文件 我还将 xlsx 文件复制到服务器上 代码中的
  • 如何从 kubernetes 集群内部访问主机的 localhost

    在此应用程序中 nodejs pod 在 kubernetes 内部运行 而 mongodb 本身作为 localhost 位于主机外部 这确实不是一个好的设计 但它只适用于开发环境 在生产中 将有一个单独的 mongodb 服务器 因为这

随机推荐