技术: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


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





相关文章
|
10天前
|
Unix Linux Docker
CentOS停更沉寂,RHEL巨变限制源代:Docker容器化技术的兴起助力操作系统新格局
操作系统是计算机系统的核心软件,管理和控制硬件与软件资源,为用户和应用程序提供高效、安全的运行环境。Linux作为开源、跨平台的操作系统,具有高度可定制性、稳定性和安全性,广泛应用于服务器、云计算、物联网等领域。其发展得益于庞大的社区支持,多种发行版如Ubuntu、Debian、Fedora等满足不同需求。
38 4
|
2月前
|
持续交付 开发者 Docker
探索容器化技术Docker及其在现代软件开发中的应用
探索容器化技术Docker及其在现代软件开发中的应用
|
1月前
|
开发框架 安全 开发者
Docker 是一种容器化技术,支持开发者将应用及其依赖打包成容器,在不同平台运行而无需修改。
Docker 是一种容器化技术,支持开发者将应用及其依赖打包成容器,在不同平台运行而无需修改。本文探讨了 Docker 在多平台应用构建与部署中的作用,包括环境一致性、依赖管理、快速构建等优势,以及部署流程和注意事项,展示了 Docker 如何简化开发与部署过程,提高效率和可移植性。
65 4
|
1月前
|
负载均衡 网络协议 算法
Docker容器环境中服务发现与负载均衡的技术与方法,涵盖环境变量、DNS、集中式服务发现系统等方式
本文探讨了Docker容器环境中服务发现与负载均衡的技术与方法,涵盖环境变量、DNS、集中式服务发现系统等方式,以及软件负载均衡器、云服务负载均衡、容器编排工具等实现手段,强调两者结合的重要性及面临挑战的应对措施。
74 3
|
2月前
|
持续交付 开发者 Docker
探索容器化技术Docker及其在现代软件开发中的应用
探索容器化技术Docker及其在现代软件开发中的应用
|
2月前
|
运维 Kubernetes Docker
深入理解容器化技术:Docker与Kubernetes的协同工作
深入理解容器化技术:Docker与Kubernetes的协同工作
53 1
|
2月前
|
安全 持续交付 Docker
深入理解并实践容器化技术——Docker 深度解析
深入理解并实践容器化技术——Docker 深度解析
66 2
|
2月前
|
Kubernetes Linux 开发者
深入探索容器化技术——Docker 的实战应用
深入探索容器化技术——Docker 的实战应用
91 0
|
2月前
|
持续交付 开发者 Docker
深入理解并实践容器化技术——Docker篇
深入理解并实践容器化技术——Docker篇
48 0
|
2月前
|
存储 Cloud Native 开发者
深入探索容器化技术——Docker的实战应用
深入探索容器化技术——Docker的实战应用
41 0

热门文章

最新文章