前言:

  Docker 是一个用于开发、传送和运行应用程序的开放平台。Docker 使您能够将应用程序与基础设施分开,以便您可以快速交付软件。使用 Docker,您可以像管理应用程序一样管理基础设施。通过利用 Docker 的快速交付、测试和部署代码的方法,您可以显着减少编写代码和在生产中运行代码之间的延迟。为了让开发、部署、测试和分发变得更高效和轻松,让我们把Docker安装起来体验一下它的魅力所在吧!

系统要求:

  • Docker 支持 64 位版本 CentOS 7/8,并且要求内核版本不低于 3.10。
  • 需要启用centos-extras repository。在 CentOS 7 中这个仓库是默认启用的,如果之前有将其禁用,则需要重新启用
  • CentOS 7 满足最低内核的要求,但由于内核版本比较低,部分功能(如 overlay2 存储层驱动)无法使用,并且部分功能可能不太稳定。

安装环境:

  本文主要是在Liunx操作系统CentOS8.4中安装Docker,我们安装之前可以先查看自己的系统版本,使用命令:lsb_release -a 进行查看(如下图所示)。

注意:切勿在没有配置 Docker YUM 源的情况下直接使用 yum 命令安装 Docker.

卸载旧版本:

旧版本的Docker在CentOS中的包名为docker或者docker-engine。如果你之前的Linux CentOS系统中安装了Docker的旧版本,你需要先卸载旧版Docker及其相关依赖,执行以下命令:

  1. sudo yum remove docker \
  2. docker-client \
  3. docker-client-latest \
  4. docker-common \
  5. docker-latest \
  6. docker-latest-logrotate \
  7. docker-logrotate \
  8. docker-selinux \
  9. docker-engine-selinux \
  10. docker-engine

因为我的系统系刚安装的,所以执行上面的命令提示的是没有找到需要移除的包!

如果yum报告没有安装这些软件包,那也没关系。

注意/var/lib/docker/目录下的内容,包括镜像、容器、卷组、网络等文件将被保留Docker CE 的新包名为docker-ce

yum到底是干什么的?

简单描述:yum称为包管理器,主要用来解决:下载、依赖关系、安装、卸载四种问题。

详细说明:https://blog.csdn.net/weixin_43202123/article/details/119948927

使用yum安装:

执行以下命令安装依赖包和必要的一些系统工具:

  1. sudo yum install -y yum-utils device-mapper-persistent-data lvm2

配置yum稳定镜像源:

因为国内网络原因,推荐使用阿里云提供的Docker CE 镜像源站!

  1. sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

官方镜像源地址:

  1. # 官方源
  2. # sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

安装 Docker

更新 yum 软件源缓存,并安装 docker-ce(一路yes即可)

  1. sudo yum install docker-ce docker-ce-cli containerd.io

如下是成功安装的依赖:  

查看安装成功的docker版本:docker -v

CentOS8 额外设置

由于 CentOS8 防火墙使用了 nftables,但 Docker 尚未支持 nftables。

首先我们查看防火墙的状态,假如防火墙状态是开启的我们执行下面的操作:

  1. systemctl status firewalld

我们可以使用如下设置使用 iptables:更改 /etc/firewalld/firewalld.conf

  1. # FirewallBackend=nftables
  2. FirewallBackend=iptables

或者执行以下命令:

  1. firewall-cmd --permanent --zone=trusted --add-interface=docker0
  2.  
  3. firewall-cmd --reload

开启Docker服务:

执行sudo service docker start 命令开启Docker服务提示异常:Redirecting to /bin/systemctl start docker.service

看异常就是需要执行systemctl的相关命令,因为Linux的不同发行版开启Docker服务的命令也有所不同

  1. sudo systemctl enable docker
  2. sudo systemctl start docker

最后查看docker运行状态

  1. systemctl status docker

启动 Docker 守护进程:

官方教程:https://docs.docker.com/config/daemon/systemd/

手动启动

安装 Docker 后,您需要启动 Docker 守护程序。大多数 Linux 发行版用于systemctl启动服务。

  1. sudo systemctl start docker

在系统启动时自动启动

如果您希望 Docker 在启动时启动,请参阅 配置 Docker 以在启动时启动

Docker基础命令:

启动docker:systemctl start docker

停止docker:systemctl stop docker

重启docker:systemctl restart docker

查看docker状态:systemctl status docker

开机启动:systemctl enable docker

当前系统docker信息:docker info

列举出所有的容器:docker ps -a

停止容器:docker start 容器ID或容器名

直接关闭容器:docker kill 容器ID或容器名

重启容器:docker restart 容器ID或者容器名

删除容器:docker rm 容器ID或者容器名

查看镜像:docker image ls

更多命令搜索(推荐):Docker命令在线速查手册

测试 Docker 是否安装正确

首先我们输入docker run hello-world是否会出现下图所示的提示,如果出现报错,这环境配置可能出现了问题。

注意:这行命令会让Docker从官方仓库中拉去hello-world的镜像到本地(是本地不存在该镜像的情况),并且将其自动实例化容器。

  1. Unable to find image 'hello-world:latest' locally
  2. latest: Pulling from library/hello-world
  3. 2db29710123e: Pull complete
  4. Digest: sha256:37a0b92b08d4919615c3ee023f7ddb068d12b8387475d64c622ac30f45c29c51
  5. Status: Downloaded newer image for hello-world:latest
  6.  
  7. Hello from Docker!
  8. This message shows that your installation appears to be working correctly.
  9.  
  10. To generate this message, Docker took the following steps:
  11. 1. The Docker client contacted the Docker daemon.
  12. 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
  13. (amd64)
  14. 3. The Docker daemon created a new container from that image which runs the
  15. executable that produces the output you are currently reading.
  16. 4. The Docker daemon streamed that output to the Docker client, which sent it
  17. to your terminal.
  18.  
  19. To try something more ambitious, you can run an Ubuntu container with:
  20. $ docker run -it ubuntu bash
  21.  
  22. Share images, automate workflows, and more with a free Docker ID:
  23. https://hub.docker.com/
  24.  
  25. For more examples and ideas, visit:
  26. https://docs.docker.com/get-started/

查看hello-World镜像和容器:

Docker学习系列文章

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

day2、CentOS 8.4安装Docker

参考文章:

Install Docker Engine on CentOS

CentOS 7 (使用yum进行安装)

CentOS 8.4安装Docker的更多相关文章

  1. Docker - 在CentOS 7中安装Docker

    1-确认系统信息 # cat /etc/redhat-release CentOS Linux release 7.2.1511 (Core) # uname -a Linux CentOS-7 3. ...

  2. 在Centos 7上安装Docker

    在Centos 7上安装Docker 1.docker介绍 docker是类似于vmware的虚拟化软件,可以开发.容纳.运行应用程序的平台,在容器中安全的隔离运行应用程序. 2.Docker引擎 D ...

  3. centos中简易安装docker

    centos中简易安装docker准备环境要求:请确保自己的centos的内核版本大于3.10,使用如下linux命令: uname -r1显示如下类似信息: 3.10.0-862.3.3.el7.x ...

  4. 第二章、 Centos 6.8安装 Docker

    2.1检查Docker的先决条件 64位 CPU计算机(x86_64),不支持32位 CPU 运行Linux 3.8 或更高版本内核. 内核必须支持一种合适的存储驱动(storage driver), ...

  5. [Linux] - 阿里云CentOS 6.5 安装Docker

    因为阿里云的CentOS 6.5版本默认内核kernel版本是2.6的,比较低.安装docker的后,运行不了. 步骤: 1.使用命令更新: yum update 2.安装Docker.这里忽略500 ...

  6. CentOS 7.2 安装 Docker 1.12.3 版

    本文出自http://www.cnblogs.com/scoter2008 1.强大的官方文档 https://docs.docker.com/engine/installation/linux/ce ...

  7. CentOS 7上安装Docker 1.8

    Docker支持运行在以下CentOS版本: CentOS 7.X 安装在二进制兼容的EL7版本如 Scientific Linux也是可能成功的,但是Docker没有测试过并且不官方支持. 此文带你 ...

  8. Centos 7 下安装 Docker

    docker目前只支持Centos 7及以后的版本,系统要求:64位,内核版本至少在3.10及以后版本.       第一步:     添加软件源,安装依赖软件包以方便对devicemapper存储的 ...

  9. CentOS 7.x 安装 Docker

    安装之前确保之前没有安装过docker为此首先删除存在的docker程序 sudo yum remove docker \ docker-common \ docker-selinux \ docke ...

随机推荐

  1. 3-等待线程终止的join方法

    等待线程终止的join方法 在项目实践中经常会遇到一个场景,就是需要等待某几件事完成之后才能继续往下执行,比如线程加载资源等等. package com.heiye.learn1; public cl ...

  2. C++ Primer 查漏补缺 —— C++ 中的各种初始化

    初学者在刚开始读 C++ Primer 的时候,总是容易被书中各种初始化搞得头大:默认初始化.列表初始化.值初始化.类内初始值.构造函数初始值列表.new int 和 new int() 的区别... ...

  3. SpringPlugin-Core在业务中的应用

    前言 一直负责部门的订单模块,从php转到Java也是如此,换了一种语言来实现订单相关功能.那么Spring里有很多已经搭建好基础模块的设计模式来帮助我们解耦实际业务中的逻辑,用起来非常的方便!就比如 ...

  4. Python技法2:函数参数的进阶用法

    1.关键字参数(positional argument)和位置参数(keyword argument) Python函数的参数根据函数在调用时(注意,不是函数定义时)传参的形式分为关键字参数和位置参数 ...

  5. mysql中一半会选择什么样的字段为索引?(含索引创建删除查看公式)

    一.数据量庞大的数据做索引 二.该字段经常出现在where的后面,以条件形式存在,经常被用户搜索的字段 三.很少被增删改的字段,因为增删改后,索引会重新排序 索引的创建 create index 索引 ...

  6. C#开发BIMFACE系列50 Web网页中使用jQuery加载模型与图纸

    BIMFACE二次开发系列目录     [已更新最新开发文章,点击查看详细] 在前一篇博客<C#开发BIMFACE系列49 Web网页集成BIMFACE应用的技术方案>中介绍了目前市场主流 ...

  7. Vue3学习(八)之 Vue CLI多环境配置

    一.前言 这里相对于之前就没那么麻烦了,通俗点说就是使用配置文件来管理多环境,实现环境的切换. 二.实现切换 1.增加开发和生产配置文件 在web的根目录下,创建开发环境切换配置文件.env.dev, ...

  8. 【Azure 应用服务】App Service For Linux 如何在 Web 应用实例上住抓取网络日志

    问题描述 在App Service For Windows的环境中,我们可以通过ArmClient 工具发送POST请求在Web应用的实例中抓取网络日志,但是在App Service For Linu ...

  9. 为Kubernetes集群添加用户认证

    Kubernetes中的用户 K8S中有两种用户(User)--服务账号(ServiceAccount)和普通意义上的用户(User) ServiceAccount是由K8S管理的,而User通常是在 ...

  10. Beta阶段第一次会议

    Beta阶段第一次例会 时间:2020.5.16 完成工作 姓名 完成任务 难度 完成度 lm 1.修订网页端信息编辑bug2.修订网页端登录bug(提前完成,相关issue已关闭) 中 100% x ...