什么是docker
Docker是一个开源的容器平台,它允许开发者将应用程序及其依赖项打包到一个轻量级、可移植的容器中。 这使得应用程序可以在不同的环境中一致地运行,无论是开发、测试还是生产环境。 Docker容器可以在任何支持Docker的操作系统上运行,包括 Linux 、 Windows 和macOS。
用docker的好处
-
List item
替代虚拟机(VM)
Docker可以在很多情况下替代虚拟机。如果用户只关心应用程序而不是操作系统,可以用Docker替代虚拟机,把操作系统交给其他人去考虑。Docker不仅启动速度比虚拟机快,迁移时也更为轻量,同时得益于它的分层文件系统,与其他人共享变更时更简单、更快捷。而且,它牢牢地扎根在命令行中,非常适合脚本化。 -
软件原型
如果想快速体验软件,同时避免干扰目前的设置或配备一台虚拟机带来的麻烦,Docker可以在几毫秒内提供一个沙盒环境。在亲身体验之前,用户很难感受到这种解放的效果。 -
打包软件
因为对Linux用户而言,Docker镜像实际上没有依赖,所以非常适合用于打包软件。用户可以构建镜像,并确保它可以运行在任何现代Linux机器上——就像Java一样,但不需要JVM。 -
让微服务架构成为可能
Docker 有助于将一个复杂系统分解成一系列可组合的部分,这让用户可以用更离散的方式来思考其服务。用户可以在不影响全局的前提下重组软件,使其各部分更易于管理和可插拔。 -
网络建模
由于可以在一台机器上启动数百个(甚至数千个)相互隔离的容器,因此对网络进行建模轻而易举。这对于现实世界场景的测试非常有用,而且所费无几。 -
离线时启用全栈生产力
因为可以将系统的所有部分捆绑在Docker容器中,所以用户可以将其编排运行在笔记本电脑中移动办公,即便在离线时也毫无问题。 -
降低调试支出
不同团队之间关于软件交付的复杂谈判在业内司空见惯。我们亲身经历过不计其数的这类讨论:失效的库、有问题的依赖、更新被错误实施或是执行顺序有误,甚至可能根本没执行以及无法重现的错误等。估计读者也遇到过这些问题。Docker让用户可以清晰地说明(即便是以脚本的形式)在一个属性已知的系统上调试问题的步骤,错误和环境重现变得更简单,而且通常与所提供的宿主机环境是分离的。 -
文档化软件依赖及接触点
通过使用结构化方式构建镜像,为迁移到不同环境做好准备,Docker 强制用户从一个基本出发点开始明确地记录软件依赖。即使用户不打算在所有地方都使用Docker,这种文档记录也有助于在其他地方安装软件。 -
启用持续交付
持续交付(continuous delivery,CD)是一个基于流水线的软件交付范型,该流水线通过一个自动化(或半自动化)流程在每次变动时重新构建系统然后交付到生产环境中。
因为用户可以更准确地控制构建环境的状态,Docker 构建比传统软件构建方法更具有可重现性和可复制性。使持续交付的实现变得更容易。通过实现一个以Docker为中心的可重现的构建过程,标准的持续交付技术,如蓝/绿部署(blue/green deployment,在生产环境中维护“生产”和“最新”部署)和凤凰部署(phoenix deployment,每次发布时都重新构建整个系统)变得很简单。
现在,我们对Docker如何能够提供帮助有了一定了解。在进入一个真实示例之前,让我们来了解
卸载旧版本(第一次安装跳过)
如果之前安装过旧版本的Docker,可以使用下面命令卸载
yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-selinux \
docker-engine-selinux \
docker-engine \
docker-ce
安装yum下载工具
yum install -y yum-utils \
device-mapper-persistent-data \
lvm2 --skip-broken

配置数据源
yum-config-manager \
--add-repo \
https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

安装docker
yum install -y docker-ce

关闭docker防火墙
Docker应用需要用到各种端口,逐一去修改防火墙设置。非常麻烦,因此建议大家直接关闭防火墙!
# 关闭
systemctl stop firewalld
# 禁止开机启动防火墙
systemctl disable firewalld
#查看是否关闭防火墙
systemctl status firewalld
启动docker
systemctl start docker # 启动docker服务
systemctl stop docker # 停止docker服务
systemctl restart docker # 重启docker服务
systemctl enable docker # 设置docker开机自启
当出现active(running)时,即为启动成功,如图
配置docker镜像加速
docker官方镜像仓库网速较差,我们需要设置国内镜像服务
##创建文件夹
mkdir -p /etc/docker
##在文件夹内新建一个daemon.json文件
tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://akchsmlh.mirror.aliyuncs.com"]
}
EOF
##重新加载文件
sudo systemctl daemon-reload
##重启docker
sudo systemctl restart docker
Docker是一个开源容器平台,允许开发者将应用及其依赖打包到容器中,实现跨环境一致性运行。它提供快速启动、轻量迁移和便捷共享,可替代虚拟机,支持微服务架构,促进持续交付,并简化软件打包和依赖管理。此外,文章还介绍了如何在CentOS上安装和配置Docker,包括设置阿里云镜像加速器。

942

被折叠的 条评论
为什么被折叠?



