Docker介绍
Docker 是一个开源的平台,用于开发、交付和运行应用程序。它利用容器化技术,可以帮助开发人员更轻松地打包应用程序及其依赖项,并将其部署到任何环境中,无论是开发工作站、数据中心还是云中。以下是 Docker 的一些关键特点和优势:
轻量级:Docker 容器利用操作系统级虚拟化技术,使得应用程序可以在隔离的环境中运行,同时不会占用过多的系统资源。这使得容器相对于传统虚拟机更加轻量级。
可移植性:Docker 容器提供了一致的运行时环境,无论是在开发环境、测试环境还是生产环境,都可以确保应用程序的行为一致性。
快速部署:由于容器镜像可以快速启动和停止,因此可以大大缩短应用程序的部署时间,同时也有利于快速扩展和收缩应用程序的实例数量。
灵活性:Docker 提供了丰富的命令行工具和 API,可以方便地进行容器的创建、启动、停止、删除等操作,同时也支持与其他工具集成,如 Kubernetes、Jenkins 等。
环境一致性:通过 Docker 容器,可以确保开发、测试和生产环境之间的一致性,避免了“在我的机器上可以运行”的问题。
资源隔离:Docker 容器可以提供良好的资源隔离,使得不同的应用程序可以在同一台主机上运行而不会相互干扰。
总的来说,Docker 的出现极大地简化了应用程序的开发、交付和运行流程,促进了 DevOps 文化的普及,并且在云计算和容器编排领域具有重要意义。
编写shell脚本
#创建sh文件,将内容复制进去
[root@localhost ~]# vi docker.sh
#赋予执行权限
[root@localhost ~]# chmod 777 docker.sh
#执行脚本
[root@localhost ~]# ./docker.sh
#/bin/bash
echo "----------yum-----------"
cat >> /etc/yum.repos.d/local.repo << EOF
[centos]
name=centos
baseurl=file:///opt/centos
gpgcheck=0
enabled=1
EOF
mkdir /opt/centos
mount /dev/sr0 /mnt
cp -rvf /mnt/* /opt/centos
umount /mnt
curl -o /etc/yum.repos.d/CentOS.Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
yum clean all && yum repolist
echo "---------yum-OK---------------"
echo "-----------gcc, gcc-c++---------"
yum install -y gcc gcc-c++
echo "--------------OK-----------------"
echo "----------yum-utils...-----------"
yum install -y yum-utils device-mapper-persistent-data lvm2
echo "------------OK-------------------"
echo "---------docker-aliyun---------------"
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
echo "---------docker-aliyun-OK!------"
echo "----------yum-jiasu-------"
yum makecache
echo "-------------OK!----------"
echo "**********docker install ***********"
yum install -y docker-ce docker-ce-cli containerd.io
echo "**********docker install-OK!!********"
echo "******************stop firewalld************************"
systemctl stop firewalld
systemctl disable firewalld
echo "******************firewalld-stop-OK!!!!*********************"
echo "**********start docker**************"
systemctl start docker
systemctl enable docker
echo "************start OK!!!!************"
docker --version