Docker系列之入门篇

时间:2023-11-24 21:39:02

Dcoker是什么?

概述

Docker 是世界领先的软件容器平台。开发人员利用 Docker 可以消除协作编码时“在我的机器上可正常工作”的问题。运维人员利用 Docker 可以在隔离容器中并行运行和管理应用,获得更好的计算密度。企业利用 Docker 可以构建敏捷的软件交付管道,以更快的速度、更高的安全性和可靠的信誉为 Linux 和 Windows Server 应用发布新功能。

认识容器

有了容器,就可以将软件运行所需的所有资源打包到一个隔离的容器中。容器与虚拟机不同,不需要捆绑一整套操作系统,只需要软件工作所需的库资源和设置。系统因此而变得高效、轻量、自给自足,还能保证部署在任何环境中的软件都能始终如一地运行。

以上是官方的解释。嗯,看完是不是仍然一脸懵逼,不要紧,我们先看来一张图:

Docker系列之入门篇

推荐 先记忆 后理解,记忆什么?Docker组成的三个基本概念:

镜像 (Image):Docker 镜像可以看作是一个特殊的文件系统,除了提供容器运行时所需的程序、库、资源、配置等文件外,还包含了一些为运行时准备的一些配置参数(如匿名卷、环境变量、用户等)。镜像不包含任何动态数据,其内容在构建之后也不会被改变。

Docker系列之入门篇

Docker系列之入门篇

容器(Container):容器镜像是轻量的、可执行的独立软件包,包含软件运行所需的所有内容:代码、运行时环境、系统工具、系统库和设置。

Docker系列之入门篇

Docker系列之入门篇

仓库(Repository):如果你使用过git和github就很容易理解Docker的仓库概念。Docker 仓库的概念跟Git 类似,注册服务器可以理解为 GitHub 这样的托管服务。

Docker 仓库是用来包含镜像的位置,Docker提供一个注册服务器(Register)来保存多个仓库,每个仓库又可以包含多个具备不同tag的镜像。Docker运行中使用的默认仓库是 Docker Hub 公共仓库。

仓库支持的操作类似git,当用户创建了自己的镜像之后就可以使用 push 命令将它上传到公有或者私有仓库,这样下次在另外一台机器上使用这个镜像时候,只需要从仓库上 pull 下来就可以了

我们来看一下Docker的生命周期:

Docker系列之入门篇

如上图所示,容器是由镜像实例化而来的,这和我们学习的面向对象的概念十分相似,我们可以把镜像想象成,把容器想象成类经过实例化后的对象,先有了"镜像类",然后可以实例化多个不同的容器1,容器2、容器3......,这样就非常好理解镜像和容器的关系了。

安装Docker-CE

CentOS安装

⑴卸载旧版本(较旧版本的Docker被称为dockerdocker-engine。如果已安装这些,请卸载它们以及相关的依赖项。)

$ sudo 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,会进行删除操作:

Docker系列之入门篇

⑵安装docker -ce(社区免费版)

安装方式,使用存储库安装,在新主机上首次安装Docker CE之前,需要设置Docker存储库。之后,可以从存储库安装和更新Docker。

安装所需的包。yum-utils提供了yum-config-manager 效用,并device-mapper-persistent-datalvm2由需要 devicemapper存储驱动程序。

$ sudo yum install -y yum-utils \
device-mapper-persistent-data \
lvm2

Docker系列之入门篇

⑶使用以下命令设置稳定存储库。即使还想从边缘或测试存储库安装构建,始终需要稳定的存储 库

$ sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo

Docker系列之入门篇

⑷可选:启用边缘和测试存储库。这些存储库包含在docker.repo上面的文件中,但默认情况下处于禁用状态。可以将它们与稳定存储库一起启用。

$ sudo yum-config-manager --enable docker-ce-edge

$ sudo yum-config-manager --enable docker-ce-test

//您可以通过运行带有标志的命令来禁用边缘或测试存储库 。要重新启用它,请使用该标志。以下命令禁用边缘存储库。yum-config-manager--disable--enable

$ sudo yum-config-manager --disable docker-ce-edge

//注意:从Docker 17.06开始,稳定版本也会被推送到边缘并测试存储库。

Docker系列之入门篇

⑸安装最新版本的Docker CE

$ sudo yum install docker-ce

Docker系列之入门篇

Docker系列之入门篇

⑹启动Docker

$ sudo systemctl start docker

docker通过运行hello-world 映像验证是否已正确安装

$ sudo docker run hello-world

Docker系列之入门篇

至此,docker在CentOS上的安装已经全部完成,我们可以查看下当前安装的docker版本信息

Docker系列之入门篇

Windows安装

https://docs.docker.com/docker-for-windows/install/

Docker常用命令汇总

Docker系列之入门篇

Docker系列之入门篇

Docker系列之入门篇

  未完待续。。。docker全套VIP课程资源可以加入.NET全栈开发群 免费获取,群号:523490820