公众号做视频网站会封吗,天河网站 建设seo信科分公司,手机广告推广软件,淮北集团网站建设目录 引言一、什么是Docker?二、Docker的优势三、Docker的架构四、Docker的安装五、Docker的基本使用六、Docker与传统虚拟化的比较七、Docker的应用场景八、总结 引言
在现代的软件开发和部署中#xff0c;容器化技术已经成为了一种趋势。Docker作为容器化技术的领先者容器化技术已经成为了一种趋势。Docker作为容器化技术的领先者已经被广泛应用于云计算、大数据、微服务等领域。本文从Docker的概念、优势、架构、基本使用等方面进行详细介绍希望能够让读者深入了解Docker并掌握其基本使用。
一、什么是Docker?
Docker是一种开源的容器化技术最初由Docker Inc.公司开发其主旨在于为应用程序开发提供更加快速、便捷、一致的运行环境。Docker可以将应用程序及其依赖项打包为容器在不同的系统上运行实现了代码的跨平台移植性。
二、Docker的优势
相较于传统的虚拟机技术Docker具有以下优势
易于部署Docker容器可以在不同的平台上运行大大降低了应用程序的部署成本。
资源占用更少Docker容器与虚拟机不同容器与宿主机共享内核因而运行所需的资源更少。
更加高效Docker容器可以快速启动、停止极大地提高了应用程序的开发和运行效率。
一致的运行环境Docker容器可以在不同的平台上运行且容器内的运行环境均为一致从而保证了应用程序的可靠性和稳定性。
三、Docker的架构
Docker的架构主要包括以下几个组件
Docker客户端由命令行工具或Web UI界面提供给用户进行操作的界面。
Docker主机运行Docker进程的物理或虚拟机器。
Docker仓库用来存放Docker镜像的服务可以理解为代码仓库。
Docker镜像打包好的应用程序及其依赖项可被发布和复制作为容器启动的基础。
Docker容器镜像的运行实例可以被启动、停止、删除等。
四、Docker的安装
Docker支持运行CentOS版本CentOS 7.X 内核版本检查: uname -r 卸载可能存在的旧版本 yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate 旧版本的docker叫做docker或者docker-engine如果有安装先卸载其以及其依赖新版本的 docker叫做docker-ce docker-ce社区版免费 docker-ee专业版收费 安装必要的系统工具: yum install -y yum-utils device-mapper-persistent-data lvm2 添加docker-ce安装源: yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo 配置阿里云Docker Yum源: yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo 更新yum缓存: yum makecache fast yml.pid占用: – rm -f /var/run/yum.pid 安装docker-CE: yum -y install docker-ce 1默认安装的是最新版本的稳定版 2查看版本列表请使用如下命令 yum list docker-ce --showduplicates | sort -r docker-engine 3如果要安装特定版本的docker-CE请使用如下命令格式 yum install docker-ce
五、Docker的基本使用
基本操作
查看服务状态 systemctl status docker启停服务 systemctl start docker systemctl stop docker systemctl restart docker开机自启 systemctl enable docker systemctl disable docker
仓库镜像 Docker 运行容器前需要本地存在对应的镜像 如果镜像不存在 Docker 会尝试先从默认镜像仓库下 载 默认使用 Docker Hub 公共注册服务器中的仓库 用户也可以通过配置使用自定义的镜像仓库
配置加速器(通过阿里云控制台获得加速地址)
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json -EOF
{registry-mirrors: [https://39o6ydhb.mirror.aliyuncs.com]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker输入 cat /etc/docker/daemon.json 回车,有下面这个说明加速器配好了 { “registry-mirrors”: [“https://39o6ydhb.mirror.aliyuncs.com”] } 然后进行拍照保存
下载镜像 docker pull ngninx 回车 下载好了之后 docker images回车
容器 容器是Docker的另一个核心概念。简单来说容器是镜像的一个运行实例。 镜像是静态的只读文件而容器带有运行时需要的可写文件层同时容器中的应用进程处于运行状态 创建容器
docker create -it centos:latest
docker create -it --name centos01 centos:latest
centos:latest 即镜像名字:版本(或镜像ID)将使用指定镜像创建容器。另外Docker会检查本地是否
存在指定的镜像
不存在就从公有仓库下载
-it是两个参数-iinteractive容器具有交互功能-t容器将提供伪终端
--name指定生成的容器的名字允许空如果不指定会自动生成启动、停止、重启容器 docker start 容器ID|name|name:tag docker stop 容器ID|name|name:tag docker restart 容器ID|name|name:tag 查看当前的容器 docker ps docker ps -a docker pull 镜像名 获取一个 centos 系统的基础镜像可以使用如下的命令: docker pull centos 未指定版本一般会使用latest(最新的)版本 docker pull centos:版本号 或者直接指定版本 docker images 查看image位置 cd /var/lib/docker/containers (/var/lib/docker为docker默认安装目录) ll docker rmi centos docker rmi -f centos:latest 如果提示镜像被使用需要先停止某个ID的容器那么要先删除容器再删除镜像。或者强制删除镜像。 正确做法先删除依赖该镜像的所有容器 再来删除镜像 删除容器 docker rm 容器ID docker rm -f 容器ID 进入容器 docker exec -it 容器ID/容器NAME /bin/bash docker exec -it 容器ID/容器NAME bash (简写) 退出容器 退出时如果想继续运行容器按顺序按【ctrlp】【ctrlq】 如果不想继续运行按【ctrld】或输入exist
六、Docker与传统虚拟化的比较
传统虚拟化技术需要进行大量的资源分配和管理每个虚拟化的操作系统都需要独立的内核和系统资源导致系统启动缓慢占用资源大容易出现性能瓶颈。而Docker容器的优势在于它们是在宿主机器上运行的共享系统内核和底层资源因此启动速度较快开销较小且镜像的构建和部署和容器的启动、停止等操作都非常快速和简便。不过Docker容器也存在一些限制例如它们是基于宿主机器的环境而运行的因此在某些场景下可能不适用。
七、Docker的应用场景
微服务 Docker容器可以很好地支持微服务架构每个服务都运行在独立的容器中实现了服务模块化和高度可扩展性。
多环境开发 开发人员可以使用Docker来构建开发、测试和生产环境保证了这些环境的一致性在测试和上线时可以预测和减少错误。
应用程序打包和交付 Docker容器可以将应用程序及其依赖项打包为一个单一的容器方便交付和分布并且保证了应用程序的一致性和可靠性。
云部署 在云计算场景下Docker可以在虚拟机和基础设施层之间提供一层抽象显著降低了应用程序部署的成本和管理难度。
八、总结
Docker这一容器化技术将应用程序的开发、部署和交付的流程变得更加高效、灵活和便捷并且能够支持微服务架构、多环境开发、应用程序打包和交付、云部署等多种应用场景。希望本文能够帮助读者深入了解Docker的特点与优势并在实践中运用Docker来完成各种应用场景。