如何在 Ubuntu 18.04 上安装和使用 Docker

2023-11-08

Docker 是一种容器化技术,可让您快速构建、测试应用程序并将其部署为几乎可以在任何地方运行的可移植、自给自足的容器。 Docker 已经成为容器部署事实上的标准,它是 DevOps 工程师及其持续集成和交付管道的必备工具。

在本教程中,我们将介绍如何在 Ubuntu 18.04 计算机上安装 Docker 并探索基本的 Docker 概念和命令。

先决条件#

在继续本教程之前,请确保您以以下身份登录具有 sudo 权限的用户。本教程中的所有命令都应以非 root 用户身份运行。

在 Ubuntu 上安装 Docker#

虽然官方 Ubuntu 18.04 存储库中提供了 Docker 安装包,但它可能并不总是最新版本。推荐的方法是从 Docker 存储库安装最新的 Docker 包。

启用 Docker 存储库#

  1. 首先更新包列表并安装通过 HTTPS 添加新存储库所需的依赖项:

    sudo apt updatesudo apt install apt-transport-https ca-certificates curl gnupg-agent software-properties-common
  2. 使用以下命令导入存储库的 GPG 密钥curl命令:

    curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
  3. 添加 DockerAPT 存储库到您的系统:

    sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"

安装 Docker CE#

现在 Docker 存储库已启用,您可以安装所需的任何 Docker 版本。

  1. 要安装最新版本的 Docker,请使用以下命令。如果您想安装特定的 Docker 版本,请跳过此步骤并进入下一步。

    sudo apt updatesudo apt install docker-ce
  2. 要安装特定版本,请首先列出 Docker 存储库中的可用版本:

    apt list -a docker-ce

    该命令在第二列中打印可用的 Docker 版本。

    docker-ce/bionic 5:18.09.7~3-0~ubuntu-bionic amd64
    docker-ce/bionic 5:18.09.6~3-0~ubuntu-bionic amd64
    docker-ce/bionic 5:18.09.5~3-0~ubuntu-bionic amd64

    例如,要安装版本18.09.6你可以输入:

    sudo apt install docker-ce=5:18.09.6~3-0~ubuntu-bionic

    为了防止 Docker 包自动更新,请将其标记为保留:

    sudo apt-mark hold docker-ce

安装完成后,Docker服务将自动启动。您可以通过输入以下内容来验证:

sudo systemctl status docker

输出将如下所示:

● docker.service - Docker Application Container Engine
   Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor p
   Active: active (running) since Tue 2019-07-02 11:28:40 UTC; 15min ago
     Docs: https://docs.docker.com
 Main PID: 11911 (dockerd)
    Tasks: 10
   CGroup: /system.slice/docker.service

不使用 sudo 执行 docker 命令#

默认情况下,运行 Docker 命令需要管理员权限。

以非 root 用户身份运行 Docker 命令而不添加前缀sudo您需要将您的用户添加到docker团体。该组是在安装 Docker CE 软件包期间创建的。为此,请运行以下命令:

sudo usermod -aG docker $USER

$USER is an 环境变量保存您的用户名。

注销并重新登录以刷新组成员身份。

验证 Docker 是否已成功安装并且您可以运行 docker 命令而无需添加前缀sudo, run:

docker container run hello-world

该命令将下载测试映像,在容器中运行它,打印“Hello from Docker”消息并退出。输出应如下所示:

升级Docker#

当新的 Docker 版本发布时,您可以使用标准升级流程更新软件包:

sudo apt updatesudo apt upgrade

卸载 Docker#

卸载 Docker 之前删除所有容器、镜像、卷和网络 .

您可以像卸载任何其他安装的软件包一样卸载 Dockerapt:

sudo apt purge docker-cesudo apt autoremove

Docker 命令行界面#

Docker CLI 命令采用以下形式:

docker [option] [subcommand] [arguments]

要列出所有可用命令,请键入docker不带参数:

docker

如果您在任何方面需要更多帮助[subcommand],您可以使用--help切换如下图:

docker [subcommand] --help

Docker 镜像#

Docker 镜像由一系列文件系统层组成,代表镜像中的指令Dockerfile组成一个可执行的软件应用程序。映像是一个不可变的二进制文件,包括应用程序和所有其他依赖项,例如运行应用程序所需的库、二进制文件和指令。

您可以将 Docker 映像视为 Docker 容器的快照。

大多数 Docker 镜像都可以在 Docker Hub 上找到。 Docker Hub 是基于云的注册表服务,其功能之一是用于将 Docker 映像保存在公共或私有存储库中。

搜索 Docker 镜像#

要从 Docker Hub 注册表中搜索映像,请使用search子命令。

例如,要搜索 Ubuntu 映像,您可以输入:

docker search ubuntu

输出应如下所示:

正如您所看到的,搜索打印了一个包含五列的表格,NAME, DESCRIPTION, STARS, OFFICIAL and AUTOMATED.

官方镜像是Docker与上游合作伙伴共同开发的镜像。

Docker Hub 上的大多数 Docker 镜像都标有版本号。当没有指定标签时,Docker 将拉取最新的标签。

下载 Docker 镜像#

例如,要下载 Ubuntu 18.04 映像的最新官方版本,您可以使用以下命令image pull命令:

docker image pull ubuntu

根据您的互联网速度,下载可能需要几秒钟或几分钟。

当不指定标签时,Docker 会提取最新的 Ubuntu 映像,在撰写本文时该映像为 18.04。

如果您想下载以前的Ubuntu 版本,假设 Ubuntu 16.04 那么你需要使用docker image pull ubuntu:16.04.

要列出所有下载的图像,请输入:

docker image ls

输出将如下所示:

删除 Docker 镜像#

如果由于某些原因,您想删除图像,可以使用image rm [image_name]子命令:

docker image rm ubuntu

Docker容器#

图像的实例称为容器。容器代表单个应用程序、进程或服务的运行时。

这可能不是最合适的比较,但如果你是一名程序员,你可以将 Docker 镜像视为类,将 Docker 容器视为类的实例。

我们可以使用以下命令启动、停止、删除和管理容器docker container子命令。

启动 Docker 容器#

以下命令将启动一个 Docker 容器基于Ubuntu镜像。如果本地没有该镜像,它会先下载:

docker container run ubuntu

乍一看,你可能觉得什么都没发生。嗯,事实并非如此。 Ubuntu容器在启动后立即停止,因为它没有长时间运行的进程,而且我们没有提供任何命令。容器启动,运行一个空命令,然后退出。

开关-it允许我们通过命令行与容器交互。要启动交互式容器类型:

docker container run -it ubuntu /bin/bash
[root@719ef9304412 /]#

从上面的输出中可以看到,一旦容器启动,命令提示符就会更改。这意味着您现在正在工作从容器内部 .

列出 Docker 容器#

要列出活动容器,请键入:

docker container ls
如果没有任何正在运行的容器,则输出将为空。

要查看活动和非活动容器,请将其传递给-a switch:

docker container ls -a

删除 Docker 容器#

要删除一个或多个容器,请复制容器 ID(或多个 ID)并将其粘贴到container rm子命令:

docker container rm c55680af670c

结论#

您已经学习了如何在 Ubuntu 18.04 计算机上安装 Docker 以及如何下载 Docker 映像和管理 Docker 容器。您可能还想阅读Docker 组合,它允许您定义和运行多容器 Docker 应用程序。

本教程仅涉及 Docker 生态系统的皮毛。在接下来的一些文章中,我们将继续深入探讨 Docker 的其他方面。要了解更多关于 Docker 的信息,请查看官方Docker 文档 .

如果您有任何疑问,请在下面留言。

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

如何在 Ubuntu 18.04 上安装和使用 Docker 的相关文章

随机推荐

  • JavaScript中如何检查字符串是否包含子字符串

    JavaScriptindexOf 方法在字符串中搜索子字符串并返回指定子字符串第一次出现的位置 如果没有找到子字符串 则返回 1 因此 您可以使用 JavaScript IndexOf 方法来检查字符串中是否包含子字符串 在本教程中 我们
  • 10 个快速 Apache 优化技巧

    在当今的数字化世界中 网站性能对于成功至关重要 缓慢的网站不仅会影响用户体验 还会对搜索引擎排名产生潜在影响 并最终影响您的利润 在影响网站性能的众多因素中 网络服务器软件的作用怎么强调都不为过 Apache HTTP Server 是使用
  • “/etc/profile.d/”目录在 Linux 中的作用是什么

    在 Linux 操作系统的广阔前景中 了解各种系统目录的复杂性是有效系统管理的关键 Linux 目录结构包含一组目录 每个目录都有独特的用途 其中包括 etc profile d 目录 该目录在系统配置中起着至关重要的作用 为系统启动期间的
  • 如何在 Fedora 37/36/35 上安装 Gulp.js

    Gulp是一个工具包 可帮助开发人员在开发过程中实现痛苦工作流程的自动化 本教程将帮助您在 Fedora 操作系统上安装 Gulp js 第 1 步 安装 Node js 首先 你需要安装node js在您的系统上 使用以下命令集在 Fed
  • 如何在Linux命令行中检测桌面环境

    有多个选项可用于识别 Linux 桌面上正在运行的桌面环境 这里我们讨论两个常用的选项 首先 执行以下命令检查桌面环境的名称 echo XDG CURRENT DESKTOP 此外 您还可以通过检查当前正在运行的进程来识别桌面 像下面的命令
  • 如何使用 SFTP 安全下载和上传文件

    SFTP SSH 文件传输协议 是在本地和远程服务器之间传输文件的安全协议 到远程系统上运行的所需 SSH 服务器 该协议对本地和远程系统之间的数据传输进行加密 由于SFTP提供安全的数据传输 因此我们推荐使用FTP协议 建议使用 SFTP
  • Bash 函数使用初学者指南!

    Bash 函数是对经常一起使用的一系列命令进行分组的便捷方法 它们允许您重用代码 使您的脚本更有条理且更易于阅读 并且无需一遍又一遍地键入相同的命令 从而节省您的时间 要在 Bash 中创建函数 请使用 function 关键字 后跟函数名
  • 如何在 MySQL 表上创建、列出或删除索引

    索引对于改进数据库表的搜索查询非常有用 例如 您正在具有数百万条记录的数据库表中搜索特定记录 您会发现 在具有索引的表上进行搜索查询所花费的时间非常少 创建索引 这将在 mysql 表上创建索引 这也将允许重复值 CREATE INDEX
  • 在 Bash 中检查变量是否包含数字

    数字是 0 9 数字的组合 Bash 变量以字符串的形式存储所有值 即使存储的值是字符串格式 如果存储的值是有效的数字 我们也可以执行所有算术运算 作为最佳实践 我们应该在执行算术运算之前验证变量的值 数字可以是整数 浮点数或带有 和 符号
  • “按任意键继续...”的 Bash 示例

    在本文中 我们将探讨在 Bash 脚本中检测按键的技术以及如何让脚本在继续之前等待用户输入 当开发在执行特定操作之前需要用户交互或确认的交互式 shell 应用程序时 此技能至关重要 目录 Bash 中按键检测简介 使用 读取 命令 检测特
  • 如何在 Ubuntu 18.04 和 16.04 上安装 AnyDesk

    AnyDesk 是一款与 TeamViewer 类似的出色的远程桌面应用程序 您可以说它是 TeamViewer 的替代品 它是免费提供的 Anydesk 提供比任何其他现有远程桌面应用程序更快的远程连接 就我个人而言 我也很喜欢它并使用它
  • 如何在 Linux 命令行中检查 Python 版本

    Python 是由 Guido van Rossum 创建的一种高级通用编程语言 它于 1991 年首次发布 通常 基于 Linux 的发行版都预装了 Python 版本 本教程将帮助您使用命令行查找 Linux 系统上安装的当前 Pyth
  • 如何在 Linux 上安装 Mencoder 和 MPlayer

    Mencoder是 MPlayer 媒体播放器的配套程序 可用于编码或转换 MPlayer 可以读取的任何音频或视频流 有关在 MPlayer 和 gmplayer 中启用非自由格式的说明 请参阅 RestrictedFormats wik
  • 如何在 PHP 中设置会话超时:新手指南

    作为 Web 开发人员 您可能需要创建具有用户登录 评论部分和其他要求用户保持帐户活跃的功能的网站 因此 实施一种限制用户在您的网站上花费的时间的方法非常重要 这在 PHP 中称为设置会话超时 如果没有此限制 用户可以无限期地在您的网站上保
  • Linux中的Fsck命令(修复文件系统)

    fsck 文件系统检查 是一种命令行实用程序 允许您在一个或多个 Linux 文件系统上执行一致性检查和交互式修复 它使用特定于其检查的文件系统类型的程序 您可以使用fsck命令用于在系统无法启动或无法安装分区的情况下修复损坏的文件系统 在
  • 如何在 Ubuntu 18.04 上安装 OpenCV

    OpenCV 开源计算机视觉库 是一个开源计算机视觉库 具有 C Python 和 Java 的绑定 它的应用非常广泛 包括医学图像分析 拼接街景图像 监控视频 检测和识别人脸 跟踪移动物体 提取 3D 模型等等 OpenCV可以利用多核处
  • 如何在 Ubuntu 20.04 上安装 Steam

    Steam是由 Valve 公司开发的用于购买和玩视频游戏的跨平台娱乐平台 它使您可以访问数千种游戏并结识新朋友 本文介绍如何在 Ubuntu 20 04 上安装 Steam 客户端 先决条件 您需要以以下身份登录具有 sudo 权限的用户
  • 如何创建 MySQL 用户帐户并授予权限

    MySQL 是最流行的开源关系数据库管理系统 MySQL服务器允许我们创建大量的用户帐户并授予适当的权限 以便用户可以访问和管理数据库 本教程介绍如何创建 MySQL 用户帐户并授予权限 在你开始之前 我们假设您的系统上已经安装了 MySQ
  • 如何在 Debian 10 上安装 PostgreSQL

    PostgreSQL 通常简称为 Postgres 是一个开源通用对象关系数据库管理系统 它具有在线备份 时间点恢复 嵌套事务 SQL和JSON查询 多版本并发控制 MVCC 异步复制等许多强大的功能 本教程将引导您完成在 Debian 1
  • 如何在 Ubuntu 18.04 上安装和使用 Docker

    Docker 是一种容器化技术 可让您快速构建 测试应用程序并将其部署为几乎可以在任何地方运行的可移植 自给自足的容器 Docker 已经成为容器部署事实上的标准 它是 DevOps 工程师及其持续集成和交付管道的必备工具 在本教程中 我们