Docker学习系列文章

入门必备:十本你不容错过的Docker入门到精通书籍推荐

day1、全面的Docker快速入门教程

day2、CentOS 8.4安装Docker

day3、Windows10 Docker安装详细教程

day4、Ubuntu 20.04安装Docker

Docker是什么?

  Docker 是一个开源的应用容器引擎,基于 Golang 语言开发,可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 服务器。容器是一个沙箱机制,相互之间不会有影响(类似于我们手机上运行的 app),并且容器开销是很低的。

  Docker 是一个供开发人员和系统管理员构建、运行和与容器共享应用程序的平台。使用容器部署应用程序称为容器化。容器并不是新事物,但它们用于轻松部署应用程序却是新鲜的。

注意:Docker并非是一个通用的容器工具,它依赖于已存在并运行的Linux内核环境。

不熟悉Docker又想快速入门的同学可以参考这篇文章:全面的Docker快速入门教程

Docker的优势有哪些?

  • 灵活性:即使是最复杂的应用程序也可以容器化。
  • 轻量级:容器利用并共享主机内核,使它们在系统资源方面比虚拟机更有效率。
  • 可移植:您可以在本地构建,部署到云上,并在任何地方运行。
  • 松耦合:容器是高度自给自足和封装的,允许您在不影响其他容器的情况下替换或升级其中一个。
  • 可扩展:您可以跨数据中心增加和自动分发容器副本。
  • 安全性:容器对进程应用主动约束和隔离,而不需要用户进行任何配置。

Docker的作用?

  Docker 是一个用于开发、传送和运行应用程序的开放平台。Docker 使您能够将应用程序与基础设施分开,以便您可以快速交付软件。使用 Docker,您可以像管理应用程序一样管理基础设施。通过利用 Docker 的快速交付、测试和部署代码的方法,您可以显着减少编写代码和在生产中运行代码之间的延迟。Docker(opens new window)是个划时代的开源项目,它彻底释放了计算虚拟化的威力,极大提高了应用的维护效率,降低了云计算应用开发的成本!使用 Docker,可以让应用的部署、测试和分发都变得前所未有的高效和轻松!无论是应用开发者、运维人员、还是其他信息技术从业人员,都有必要认识和掌握 Docker,节约有限的生命。

Ubuntu安装Docker Engine先决条件

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

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

服务器操作系统

Ubuntu 20.04 LTS

Ubuntu是最热门的Linux发行版之一,是一款开放源代码的免费软件,基于Debian Linux操作系统,其易用性和稳定性均非常出色,并且拥有非常强大成熟的社区资源。

查看系统发行版本

cat /proc/version

安装Docker的三种方式

  • 设置Docker的存储库并从中安装,以便于安装和升级任务(推荐使用,本文主要是以这种方式进行Docker安装教学)。
  • 下载DEB 包并 手动安装,完全手动管理升级。这在诸如在无法访问 Internet 的气隙系统上安装 Docker 等情况下很有用。
  • 在测试和开发环境中,一些用户选择使用自动化 便利脚本来安装 Docker。

使用存储库安装Docker【推荐使用】

在新主机上首次安装 Docker Engine 之前,您需要设置 Docker 存储库。之后,您可以从存储库安装和更新 Docker。

设置存储库

1、更新apt包索引:

注意:如果无法更新,可能是你的软件源指向是国外的服务器,很可能已经被墙。

 sudo apt-get update

2、安装必备的软件包以允许apt通过 HTTPS 使用存储库(repository):

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

3、添加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

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

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

安装Docker

更新apt包索引,安装最新版本的Docker Engine、containerd 和 Docker Compose:

注意:安装可能需要花费一点时间,请耐心等待(假如安装进度条一直不动,可能需要切换成国内镜像源地址)。

sudo apt-get update

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

使用Docker官方的源你很有可能和我一样很慢很慢一直卡在不动【那么你可以切切换成阿里云镜像源看看】

切换阿里云镜像源安装Docker

1、卸载可能存在的或者为安装成功的Docker版本

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

2、添加阿里云的GPG密钥

curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -

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

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

4、安装最新版本的Docker(飞速安装)

sudo apt-get update

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

5、验证Docker是否安装成功

-- 查看docker 版本
docker version

启动Docker

1、安装完成后,运行如下命令验证 Docker 服务是否在运行

systemctl status docker

未运行:

2、运行以下命令启动Docker服务

sudo systemctl start docker

3、设置Docker服务在每次开机时自动启动

sudo systemctl enable docker

4、查看docker运行状态

systemctl status docker

验证Docker是否运行正常

注意:执行下面的命令会下载一个Docker测试镜像,并在容器中执行一个“hello-world”样例程序。

sudo docker run hello-world

如果你看到类似下方的输出,那么祝贺你,Docker能够正常运行在你的Ubuntu系统中了。

ubuntu@VM-16-10-ubuntu:~$ sudo docker run hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
2db29710123e: Pull complete
Digest: sha256:53f1bbee2f52c39e41682ee1d388285290c5c8a76cc92b42687eecf38e0af3f0
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/

参考文章

Install Docker Engine on Ubuntu

如何在 Ubuntu 22.04 LTS 中安装 Docker 和 Docker Compose

Ubuntu 20.04安装Docker的更多相关文章

  1. ubuntu 12.04 安装Docker 实战

    2016-3-8 从网络服务商那里申请到一台Ubuntu测试服务器,用来测试安装Docker环境. 注:本人初学Docker,对Linux命令也仅是稍稍了解,如有错误,烦请告知. 查看系统相关信息 可 ...

  2. [笔记] Ubuntu 18.04安装Docker CE及nvidia-docker2流程

    Docker的好处之一,就是在Container里面可以随意瞎搞,不用担心弄崩Host的环境. 而nvidia-docker2的好处是NVidia帮你配好了Host和Container之间的CUDA相 ...

  3. [笔记] Ubuntu 18.04安装Docker CE及NVIDIA Container Toolkit流程

    之前写的[笔记] Ubuntu 18.04安装Docker CE及nvidia-docker2流程已经out了,以这篇为准. Docker的好处之一,就是在Container里面可以随意瞎搞,不用担心 ...

  4. ubuntu 20.04 安装 vim8.2

    由于ubuntu 20.04自带的vim版本比较老了,有些新装的插件适配不上,所以需要安装最新版本的vim.在网上找了很久也没有比较官方的安装教程所以记录一下. 安装依赖库 sudo apt inst ...

  5. ubuntu 16.04安装docker

    环境 操作系统:ubuntu 16.04 64位,默认安装 准备 1. 添加GPG key: $ sudo apt-key adv --keyserver hkp://p80.pool.sks-key ...

  6. Ubuntu 16.04 安装 Docker

    在Ubuntu上安装Docker, 非常简单, 我测试过 16.04, 17.04, 以及最新版 18.04,都是可以成功安装,并使用的. 第一步:  启动root账号 第二步:  配置网络,能上网 ...

  7. 记录Ubuntu 16.04 安装Docker CE

    一.Docker的两个版本 Docker有两个版本: 社区版(CE) 企业版(EE) Docker Community Edition(CE)非常适合希望开始使用Docker并尝试使用基于容器的应用程 ...

  8. Ubuntu 16.04安装docker(2018年最新)

    参考https://blog.csdn.net/bingzhongdehuoyan/article/details/79411479 http://www.cnblogs.com/lighten/p/ ...

  9. Ubuntu 16.04 安装Docker

    1 更改apt源,更改前先对sources.list文件进行备分 ccskun@test:~$ sudo cp /etc/apt/sources.list /etc/apt/sources.list. ...

随机推荐

  1. 113_Power Pivot 销售订单之重复购买率及购买间隔天数相关

    博客:www.jiaopengzi.com 焦棚子的文章目录 请点击下载附件 1.背景 在论坛中看到朋友在提复购率(重复购买率)等相关问题,今天把结果贴出来. 问题原贴:计算订单中的老顾客复购率 感谢 ...

  2. 学习Linux须知1.0之Linux相关概念、工具(yum、vim)、防火墙等

    温馨提示:重点掌握的前面都标注了 ☆ 一.Linux 是什么? Linux 是一个操作系统. 我们的 Linux 主要是系统调用和内核那两层. 当然直观地看,我们使用的操作系统还包含一些在其上运行的应 ...

  3. 差分优化建边(Tax)

    [Luogu P6822PA2012]Tax] (http://www.luogu.com.cn/problem/P6822") All right. Let's go! 题目描述 给出一个 ...

  4. 16岁男生信息竞赛成瘾心理出现问题 妈妈:他竟说要AK我

    16岁男生信息竞赛成瘾心理出现问题 -- 妈妈:他竟说要AK我 "我儿子最近快走火入魔了,医生,你救救他吧."40出头的林女士拉着儿子走进江苏省人民医院临床心理科.近几年,信息竞赛 ...

  5. 解锁!玩转 HelloGitHub 的新姿势

    本文不会涉及太多技术细节和源码,请放心食用 大家好,我是 HelloGitHub 的老荀,好久不见啊! 我在完成 HelloZooKeeper 系列之后,就很少"露面了".但是我对 ...

  6. Java并发3

    轻量级锁:如果一个有多个线程访问,但多线程访问的时间是错开的,没有竞争,那么可以使用轻量级锁来优化: monitor:重量级锁: 正常我们使用synchronized时,没有竞争则是轻量级锁,当遇到竞 ...

  7. php7.1 安装amqp扩展

    在php开发中使用rabbitmq消息队列时,需要安装PHP扩展amqp,安装步骤如下: 直接使用pecl进行amqp扩展的安装, /usr/local/php/bin/pecl install am ...

  8. 03 转换css元素的类别

    03 转换css元素的类别 通过设置display属性 属性 作用 block 块级 inline 行内 inline-block 行内块级 接来下 就跟着小demo来学习吧! 不懂可以看看!!!什么 ...

  9. Linux文件的删除和软硬链接

    文件的构成 由元数据(metadata)和数据(data)两部分组成 硬盘分区上一块空间存该分区上文件的元数据,一块空间存这些文件的数据 因为元数据和数据分离存放,所以需要通过指针地址来进行关联 元数 ...

  10. ssh空闲一段时间后自动断网

    ssh空闲一段时间后自动断网 用客户端工具,例如securecrt连接linux服务器,有的会出现过一段时间没有任何操作,客户端与服务器就断开了连接. 造成这个的原因,主要是因为客户端与服务器之间存在 ...