1.走进Docker的世界

版权声明:作者:星云 交流即分享,分享才能进步!喜欢我的文章,可在博客左侧扫码赞赏~ https://blog.csdn.net/hadues/article/details/89394552

0x01 什么是Docker?

1.1 概述

Docker 是世界领先的软件容器平台。

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

Docker 英文官网:https://www.docker.com
Docker中文官网:https://www.docker-cn.com

1.2 认识容器

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

1.2.1 Docker 架构

  • Docker 使用客户端-服务器 (C/S) 架构模式,使用远程API来管理和创建Docker容器。
  • Docker 容器通过 Docker 镜像来创建。
  • 容器与镜像的关系类似于面向对象编程中的对象与类。
Docker 面向对象
容器 对象
镜像

在这里插入图片描述

名词 解释
Docker 镜像(Images) Docker 镜像是用于创建 Docker 容器的模板。
Docker 容器(Container) 容器是独立运行的一个或一组应用。
Docker 客户端(Client) Docker 客户端通过命令行或者其他工具使用 Docker API 与 Docker 的守护进程通信。
Docker 主机(Host) 一个物理或者虚拟的机器用于执行 Docker 守护进程和容器。
Docker 仓库(Registry) Docker 仓库用来保存镜像,可以理解为代码控制中的代码仓库。Docker Hub(https://hub.docker.com) 提供了庞大的镜像集合供使用。
Docker Machine Docker Machine是一个简化Docker安装的命令行工具,通过一个简单的命令行即可在相应的平台上安装Docker,比如VirtualBox、 Digital Ocean、Microsoft Azure。

1.3 Docker 分类

1.3.1 用户群体分类:

Docker一共有两个版本,一个是社区版,一个是企业版。

功能对比如下:

功能 社区版 企业版
基于containerd的最新Docker引擎 支持 支持
认证的Kubernetes 支持 支持
适用于Windows 10和macOS 支持 支持
以任何语言或框架开发,甚至同时开发多个版本 支持 支持
开发人员和生产人员共享相同的界面和命令 支持 支持
Application Designer界面简化了Docker应用程序的创建和开发 不支持 支持
选择Docker Engine和Kubernetes版本以匹配Docker Enterprise 不支持 支持
使用标准MSI / PKG软件包维护和分发各个团队 不支持 支持
可选配置限制 不支持 支持
可定制的应用程序模板 不支持 支持
技术支持SLA 不支持 支持

社区版免费,企业版收费,企业版和社区版相比自然功能更多。

1.3.2 版本分类

社区版也分为两个版本,一个是稳定版本,一个是尝鲜版本。

1.4 系统要求

需要 Microsoft Windows 10 旗舰版 或者企业版 64-bit

0x02 如何下载 Docker?

2.1 注册并登录一个账号

注册登录地址:https://www.docker.com/

2.2 按功能下载

2.2 按操作系统下载

0x03 Centos 7 安装Docker 社区版

如果想要使用Docker 最好安装一个linux环境,而作为开发用途来讲,最出名常用的莫过于Centos 了。

所以在安装Docker 社区版之前,我们首先需要搭建一个Linux环境,
如果没有安装,请参考 VMWare Workstation虚拟机安装Centos7 图文指南

3.1. 选择安装方式

安装Docker 社区版有三种方式:

  • 安装Docker 仓库 镜像安装(大多数人使用这种方式,我们也推荐使用这种)
  • 下载RPM安装包手动安装
  • 使用便捷的脚本安装

Tips:接下来我们将会使用第一种方式安装

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

3.2 安装Docker 仓库

3.2.1 安装条件

  • 安装之前请Linux 必须是联网状态
  • 执行命令必须拥有root 权限
  • centos7 操作系统

3.2.2 安装必要的包

yum-utils提供yum-config-manager实用程序,devicemapper存储驱动程序需要device-mapper-persistent-data和lvm2。

安装命令如下所示:

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

3.2.3 设置稳定的存储库

通过以下命令设置稳定的存储库。 即使您想从dege或测试存储库安装构建,也总是需要稳定的存储库。

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

Tips: 这个仓库里面有官方Demo

3.2.4 可选项

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

启用edge

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

启用test 测试仓库

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

通过使用–disable标志运行yum-config-manager命令,可以禁用edge 或test 存储库。
要重新启用它,请使用–enable标志。

禁用edge存储库

使用如下命令禁用Edge存储库

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

3.3 安装Docker 社区版

安装最新版本的Docker 社区版本使用如下命令

sudo yum install docker-ce

出现所有的提示y/n? 输入y 按下回车

可选:要安装特定版本的Docker CE,

可以先列出仓库中所有可用的版本,然后选择并安装:

此示例按版本号排序结果,从最高到最低排序,并被截断:

yum list docker-ce --showduplicates | sort -r

安装特定版本命令如下

 sudo yum install docker-ce-<VERSION STRING>

Docker已安装但未启动。 docker组已创建,但没有用户添加到组中。

3.4 启动docker服务

启动Docker 服务使用如下命令:

sudo systemctl start docker

Tips: 停止Docker 容器服务,可使用

sudo systemctl stop docker 

3.5 验证Docker 是否正确安装

输入命令

docker version
看到如下回显说明安装Docker 成功
在这里插入图片描述

Tips: 也可以使用另外一个docker info 命令来测试,和docker version 一样的效果

0x04 如何获取并运行一个Docker 容器?

在做下列命令前需要确保docker服务是启动的,即下面命令必须先执行
启动Docker 服务命令:

sudo systemctl start docker 

4.1 拉取镜像到本地

docker pull medicean/vulapps:s_struts2_s2-045

4.2 启动容器环境

启动容器环境输入如下命令:

docker run -d -p 80:8080 medicean/vulapps:s_struts2_s2-045

Tips: -p 80:8080 前面的 80 代表物理机的端口,可随意指定。

执行完成后我们查看下虚拟机中Linux的IP地址

如果不知道怎么查看请移步 转:Linux 如何查看本机IP地址

在我们外部的windows 计算机中输入IP地址
比如我的Linux地址:http://192.168.233.129/

看到如下界面说明访问成功
在这里插入图片描述

4.3 列出当前正在运行的容器

列出当前正在运行的容器

docker container ls

执行后如下图所示:
在这里插入图片描述

Tips:我们记录下这个Container id 即容器ID,待会停止容器和移除容器都要用到

4.4 停止当前正在运行的容器

如果我们想要停止我们的容器,那么执行下面命令

docker container stop 8bc8d5cabdd0

4.5 移除某一个容器

终止运行的容器文件,依然会占据硬盘空间,可以使用docker container rm命令删除。

docker container rm [containerID]

执行移除容器命令

docker container rm 8bc8d5cabdd0

执行效果如下图所示:
在这里插入图片描述

0x05 如何卸载Docker ?

如果需要卸载Docker ,卸载命令如下所示:

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

猜你喜欢

转载自blog.csdn.net/hadues/article/details/89394552