小而精的 Docker 项目,为什么要使用 Docker? Docker 容器
阅读原文时间:2023年07月08日阅读:4

前言

为什么要使用 Docker?

  • Docker 容器的启动在秒级
  • Docker 对系统资源利用率高,一台主机上可以同时运行数千个 Docker 容器。
  • Docker 基本不消耗系统资源,使得运行在 Docker 里面的应用的性能很高。

相比于传统的虚拟化技术,Docker 有哪些优势?

  • 更快速的支付和部署:开发者可以使用一个标准的镜像来构建一套开发容器,开发完成之后,运维人员可以直接使用这个容器来部署代码。
  • 更高效的虚拟化:Docker 容器的运行不需要额外的 Hypervisor 支持,它是内核级的虚拟化,因此可以实现更高的性能和效。
  • 更轻松的迁移和扩展:Docker 容器几乎可以在任意的平台上运行,包括物理机、虚拟机、公有云、私有云、个人电脑、服务器等。
  • 更简单的管理:使用 Docker,只需要小小的修改,就可以替代以往大量的更新工作。所有的修改都以增量的方式被分发和更新,从而实现自动化并且高效的管理。

接下来,我们开始 Docker 的学习之旅。

1. Docker 安装

由于 APT 官方库里的 Docker 版本可能比较旧,所以先卸载可能存在的旧版本:

sudo apt-get remove docker docker-engine docker-ce docker.io

更新 APT 包索引:

sudo apt-get update

安装以下包以使apt可以通过HTTPS使用存储库(repository)

sudo apt-get install -y apt-transport-https ca-certificates curl software-properties-common

添加 Docker 官方的 GPG 密钥:

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

使用下面的命令来设置 stable 存储库:

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

再更新一下 APT 包索引:

sudo apt-get update

安装最新版本的 Docker CE:

sudo apt-get install -y docker-ce

2. 验证 Docker 安装是否成功

查看 Docker 服务是否启动:

systemctl status docker
    root@ubuntu:/home/hadoop/workspace/compose/composeapp# systemctl status docker
    docker.service - Docker Application Container Engine
    Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
    Active: active (running) since Thu 2019-10-03 12:25:14 PDT; 2 days ago
    Docs: https://docs.docker.com
    Main PID: 1436 (dockerd)
    Tasks: 27
    CGroup: /system.slice/docker.service
    ├─ 1436 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
    └─42652 /usr/bin/docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 2345 -container-ip 172.17.0.3 -container-port 12345

若未启动,则启动 Docker 服务:

systemctl start docker

运行经典的 Hello world:

docker run hello-world

在这里插入图片描述

3. 获取 Docker 镜像

镜像是一个模板,运行镜像便可得到 Docker 容器,可以从镜像服务器上获取做好的镜像, 使用 docker pull 命令来获取需要的镜像。Docker Hub 上已经有很多构建好的镜像,我们可以直接使用,在制作镜像之前,有必要搜索一下看是否已经有人共享了相关的镜像,减少制作成本。通过 docker search 实现搜索,docker pull 拉取镜像。

搜素镜像

搜索ubuntu镜像

docker search ubuntu

在这里插入图片描述

获取镜像

docker pull ubuntu

在这里插入图片描述

查看本地镜像

docker images

在这里插入图片描述

如果 Docker Hub 中没有自己中意的镜像,怎么办呢?当然就是自己制作镜像了,接下来介绍制作镜像的两种方式。

4. 创建自己的镜像

常见的创建镜像的方式有两种。

使用容器的快照制作镜像