技术:Docker基础知识(一)

简介: Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。Docker官网:https://www.docker.com/

1 引言

1.1 什么是Docker?

下面看下来自百度百科的定义:

Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。


来看一下什么是Docker:

  • 开源,遵从 Apache2.0 协议
  • 应用容器引擎
  • Go语言开发
  • 完全沙箱机制
  • 相互之间不会有任何接口
  • 开销极低
  • 17.03 版本之后分为社区版和企业版


当你都有能力来看下Docker,我感觉基础的知识就无需解释了,那么我们正式开始吧。


1.2 下载安装以及安装条件

Docker Engine 是一种开源容器化技术,用于构建和容器化您的应用程序。Docker Engine 充当客户端-服务器应用程序。


「官网和下载」

Docker官网:https://www.docker.com/

通常,我们常在Linux上面操作,我们需要下载Linux的版本,下载地址:https://docs.docker.com/engine/install/

我当前实验操作的环境如下:

[root@aion ~]# uname -aLinux aion 3.10.0-957.el7.x86_64 #1 SMP Thu Nov 8 23:39:32 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

所以,我们需要从官网下载我们需要的版本引擎来安装。

image.png

如果你的操作环境同我差不多,我建议来看一下这个操作步骤:

https://docs.docker.com/engine/install/centos/


总结如下:

  • CentOS 7+
  • 必须启用centos-extras存储库
  • 存档版本不受支持或测试


如果你的网速过慢,可以参考下阿里云的下载地址,https://mirrors.aliyun.com/docker-ce/linux/centos/7.6/x86_64/stable/Packages/?spm=a2c6h.25603864.0.0.36c61d40HTf28K


1.3 检查和卸载旧版本

如果之前安装过Docker,那么请执行下面的步骤来卸载干净以前的残留包,如果之前没有安装过,这一个步骤可以忽略。

sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine


当然,你也可以使用阿里云的镜像来做一些处理。https://developer.aliyun.com/mirror/?serviceType=&tag=&keyword=docker


1.4 安装方式和应用场景

「存储库方式」

此方式为联网方式,建议大家在本地已联网机器上面做测试。


「安装包方式」

此方式适合不能联网方式,也比较适合我们在内网安装。所以需要下载该 .rpm版本的文件并手动安装。这也是我们此次安装的方式。


「应用场景」

  • Web 应用的自动化打包和发布。
  • 自动化测试和持续集成、发布。
  • 在服务型环境中部署和调整数据库或其他的后台应用。从头编译或者扩展现有的 OpenShift 或 Cloud Foundry 平台来搭建自己的 PaaS 环境。


1.5 如何安装Docker


安装Docker有很多平台,这里我测试环境是Linux(CentOS 7)。我当前实验操作的环境如下:

### 系统版本以及内核的版本[root@aion ~]# uname -aLinux aion 3.10.0-957.el7.x86_64 #1 SMP Thu Nov 8 23:39:32 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux[root@aion docker]# cat /etc/redhat-releaseCentOS Linux release 7.6.1810 (Core)
### sshd服务的端口[root@aion docker]# ss -lntup|grep sshdtcp    LISTEN     0128       *:22                    *:*                   users:(("sshd",pid=9209,fd=3))
tcp    LISTEN     0128      :::22                   :::*                   users:(("sshd",pid=9209,fd=4))


1、首先,从这里进去https://download.docker.com/linux/centos/, 选择合适的 CentOS 版本。浏览x86_64/stable/Packages/ 并下载.rpm要安装的 Docker 版本的文件。


最终的下载地址在这里:

https://download.docker.com/linux/centos/7/x86_64/stable/Packages/


下载当前最新的版本*20.10.18-3.el7.x86_64.rpm,下载的软件列表如下:


最终上传到实验环境如下,在安装过程中,如果还需要其他依赖包,请自行安装:

image.png


其他版本以及平台安装请参考官网提供资料。

Ubuntu Docker 安装

Debian Docker 安装

CentOS Docker 安装(本文安装方式)

Windows Docker 安装

MacOS Docker 安装

Docker镜像加速 安装

Linux AAR3R 安装

二进制文件 安装

快捷脚本 安装


2、安装

这个安装就比较简单了,只需要使用yum执行安装包来安装Docker即可。

sudo yum install *.rpm

执行完成后,此时,Docker主要做了两件事情。

  • Docker 已安装但未启动。
  • 该docker组已创建,但没有用户添加到该组。


由于我这里是不能联网,所以只能使用rpm来安装。安装命令如下:

rpm -ivh ./*.rpm


3、启动

sudo systemctl start docker


4、测试

sudo docker run hello-world


1.6 卸载Docker

卸载 Docker Engine、CLI、Containerd 和 Docker Compose 软件包:

sudo yum remove docker-ce docker-ce-cli containerd.io docker-compose-plugin

主机上的映像、容器、卷或自定义配置文件不会自动删除。要删除所有映像、容器和卷:

sudorm-rf /var/lib/docker
sudorm-rf /var/lib/containerd


注意⚠️:必须手动删除任何已编辑的配置文件





相关文章
|
15天前
|
运维 持续交付 Docker
深入理解Docker容器化技术
深入理解Docker容器化技术
|
19天前
|
Java 应用服务中间件 Linux
【Docker容器化技术】docker安装与部署、常用命令、容器数据卷、应用部署实战、Dockerfile、服务编排docker-compose、私有仓库
本文主要讲解了Docker的安装与部署、常用命令、容器数据卷、应用部署实战、Dockerfile、服务编排docker-compose、私有仓库以及Docker容器虚拟化与传统虚拟机比较。
277 11
【Docker容器化技术】docker安装与部署、常用命令、容器数据卷、应用部署实战、Dockerfile、服务编排docker-compose、私有仓库
|
2天前
|
持续交付 开发者 Docker
探索容器化技术Docker及其在现代软件开发中的应用
探索容器化技术Docker及其在现代软件开发中的应用
|
7天前
|
运维 Kubernetes Cloud Native
云原生技术入门:Kubernetes和Docker的协同工作
【10月更文挑战第43天】在云计算时代,云原生技术成为推动现代软件部署和运行的关键力量。本篇文章将带你了解云原生的基本概念,重点探讨Kubernetes和Docker如何协同工作以支持容器化应用的生命周期管理。通过实际代码示例,我们将展示如何在Kubernetes集群中部署和管理Docker容器,从而为初学者提供一条清晰的学习路径。
|
12天前
|
缓存 监控 开发者
掌握Docker容器化技术:提升开发效率的利器
在现代软件开发中,Docker容器化技术成为提升开发效率和应用部署灵活性的重要工具。本文介绍Docker的基本概念,并分享Dockerfile最佳实践、容器网络配置、环境变量和秘密管理、容器监控与日志管理、Docker Compose以及CI/CD集成等技巧,帮助开发者更高效地利用Docker。
|
15天前
|
Cloud Native 持续交付 Docker
Docker容器化技术:从入门到实践
Docker容器化技术:从入门到实践
|
28天前
|
Kubernetes Cloud Native 开发者
云原生技术入门:Kubernetes和Docker的协作之旅
【10月更文挑战第22天】在数字化转型的浪潮中,云原生技术成为推动企业创新的重要力量。本文旨在通过浅显易懂的语言,引领读者步入云原生的世界,着重介绍Kubernetes和Docker如何携手打造弹性、可扩展的云环境。我们将从基础概念入手,逐步深入到它们在实际场景中的应用,以及如何简化部署和管理过程。文章不仅为初学者提供入门指南,还为有一定基础的开发者提供实践参考,共同探索云原生技术的无限可能。
42 3
|
10天前
|
Kubernetes Docker 容器
掌握Docker容器化技术:从入门到实战
掌握Docker容器化技术:从入门到实战
18 0
|
15天前
|
数据中心 开发者 Docker
理解并实践Docker容器化技术
理解并实践Docker容器化技术
|
1月前
|
存储 Kubernetes 监控
深入探索Docker容器化技术的奥秘
【10月更文挑战第15天】深入探索Docker容器化技术的奥秘
18 0
下一篇
无影云桌面