Docker 入门 1 准备 Docker 环境
前言
Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源。
Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。
容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。
Docker 从 17.03 版本之后分为 CE(Community Edition: 社区版) 和 EE(Enterprise Edition: 企业版),我们用社区版就可以了。
Docker 的优点
Docker 是一个用于开发,交付和运行应用程序的开放平台。Docker 使您能够将应用程序与基础架构分开,从而可以快速交付软件。借助 Docker,您可以与管理应用程序相同的方式来管理基础架构。通过利用 Docker 的方法来快速交付,测试和部署代码,您可以大大减少编写代码和在生产环境中运行代码之间的延迟。
快速,一致地交付您的应用程序
Docker 允许开发人员使用您提供的应用程序或服务的本地容器在标准化环境中工作,从而简化了开发的生命周期。
响应式部署和扩展
Docker 是基于容器的平台,允许高度可移植的工作负载。Docker 容器可以在开发人员的本机上,数据中心的物理或虚拟机上,云服务上或混合环境中运行。
在同一硬件上运行更多工作负载
Docker 轻巧快速。它为基于虚拟机管理程序的虚拟机提供了可行、经济、高效的替代方案,因此您可以利用更多的计算能力来实现业务目标。Docker 非常适合于高密度环境以及中小型部署,而您可以用更少的资源做更多的事情。
安装 Docker
单独主机
官方指南
最近 Docker 更新了 Docker-CE 2.0 ,提供了更新、更快、更全面的服务。同时,Docker 还更新的 Blog ,提供了更明确简介的说明,疑问或错误之处请参阅 Docker 官网。
openEuler
基于 树莓派 4B 安装 openEuler ,系统版本为 21.03 。
[root@openEuler ~]# hostnamectl
Static hostname: openEuler
Icon name: computer
Machine ID: c20d5624a1a1440fbb1cea8b00e94039
Boot ID: f673760ec6254bd7a4eac29560a9d1a9
Operating System: openEuler 21.03
Kernel: Linux 5.10.0-4.17.0.8.oe1.raspi.aarch64
Architecture: arm64
对于 openEuler 来说,它使用 dnf 来进行包管理。
dnf 是新一代的rpm软件包管理器。首次出现在 Fedora 18 这个发行版中。而最近,它取代了 yum ,正式成为 Fedora 22 的包管理器。
dnf 包管理器克服了yum包管理器的一些瓶颈,提升了包括用户体验、内存占用、依赖分析、运行速度等多方面的内容。 dnf 使用 RPM、libsolv 和 hawkey 库进行包管理操作。
dnf update
dnf install docker
dnf install docker-compose
其他参考
以下为之前 Docker-CE 版本的操作,部分文章还可参考:
- 我对官方安装文档的译文: 为 Debian 获取 Docker Engine - Community
- 如果下载安装官方 Docker 软件包时存在网络问题,请参考:Debian/Ubuntu Docker CE 换清华源
- 更换 Docker Hub 国内源: Docker Hub 镜像加速
- 根据个人习惯进行可选设置: Linux 安装 docker 后的步骤
云服务器
目前阿里云、腾讯云等云服务商都提供云服务器 ECS 、轻量应用服务器等服务。如果读者身份是某服务商新用户或者学生,那么都提供优惠,一年份的1(或2)核2G服务器约为100元左右。
购买的服务器可以选择 Ubuntu 等系统再通过,也可选择现有的基于 Centos 系统的 Docker 镜像。
容器加速
通过注册的阿里云账号访问 容器镜像服务 -> 镜像加速器 ,按照步骤来即可。
相关链接
Docker 官网:https://www.docker.com
Github Docker 源码:https://github.com/docker/docker-ce