如果还没有接触过Docker的同学,我想你们搭建部署web网站或者web服务的时候,肯定是直接在服务器主机上安装各种软件、配置各种服务吧?一旦安装失败,或者迁移服务器的时候,就开始傻眼了,又要重新在新的服务器中环境配置!如果能顺利配置还好说,最怕的就是各种软件程序之间的兼容性问题,会让人非常头大的!

这时,Docker就应运而生了!Docker是什么?你可以简单地理解为是轻量级的虚拟机!你可以将网站或者web服务部署到Docker里,把整个环境打包为镜像,然后可以任意地迁移、分享镜像;这个镜像,就像是虚拟机快照一样,别人拿到你的镜像后,直接加载启动起来,便直接得到一模一样的运行环境了!

现在,绝大部分的web开源项目,都提供了Docker的部署方案,在安装了Docker之后,我们只需要2行代码就可以把这些项目启动起来了。

毫不夸张的说,会不会Docker决定了你的web学习效率!掌握了Docker之后,你会发现自己的学习、测试效率会比不会Docker的同学高出一大截,能做的事情也更多了。

所以这一期我将向各位同学分享Docker在Windows操作系统和在Ubuntu操作系统下的安装方法以及它常用的命令,并基于Docker来演示部署Drawio这个开源的流程图绘制网站。

Widnows操作系统下的安装是最简单的。咱们直接到官网(https://docs.docker.com/desktop/windows/install )上去下载Docker安装包到本地;下载到本地后,咱们直接双击运行安装包即可。它会先检查下咱们的系统版本是否符合要求并且电脑上是否开启Hyper-v虚拟机。如果你的电脑系统是版本比较低的Win10,那咱们可以安装低版本的Docker安装包。大家可以先试试3.0系列的安装包(https://docs.docker.com/desktop/previous-versions/3.x-windows ),如果还不行的话再试试更低版本的安装包(https://docs.docker.com/desktop/previous-versions/archive-windows )。

如果你的操作系统是Win7或Win8,你可以通过Docker Toolbox来安装。Docker Toolbox会自动帮你安装Virtual Box轻量级的虚拟机。你也可以直接在Win10系统中通过Docker Toolbox的方式安装Docker。

如果在安装过程中遇到报错,可以根据报错提示信息搜索解决方案。例如,我安装Docker Toolbox时遇到了“boot2docker.iso文件下载失败”的问题,我通过手动下载并将文件放到指定目录下,重新启动后解决了问题。

Ubuntu操作系统的安装也相对简单。你可以将安装指令复制粘贴到命令行终端中运行。以下是具体的安装指令:

```markdown

1. 到官网链接下载编译好的Docker压缩到本地当前目录,将下载的文件命名为 docker-20.10.9.tgz

2. 从WRITE-BUG平台的代码仓库里下载Docker的配置文件(附录中展示配置文件内容)到本地当前目录,将下载的文件命名为 docker.service

3. 解压docker-20.10.9.tgz压缩文件到当前目录,注意:这个压缩文件解压后的目录名是:docker

4. 将解压目录docker里的所有文件,复制到/usr/bin目录下

5. 将当前目录下的配置文件(配置文件内容见附录)docker.service复制到/etc/systemd/system目录下

6. 将/etc/systemd/system/docker.service文件的权限添加可执行权限

7. 重新加载配置文件

8. 启动docker

9. 设置开机启动docker.service,这样docker服务每次开机都会自启,我们就可以直接使用docker了

10. 删除解压出来的docker目录

11. 查看docker的版本信息

```

感谢您提供的信息。以下是一些关于Docker和Drawio部署的信息:

- 如果您想了解一个开源项目是否支持Docker部署,通常有三种方法:查看官方文档介绍、查看是否有Dockerfile文件以及直接到DockerHub上搜索。

- 如果您想使用Docker部署Drawio,可以参考CSDN博客上的教程。

首先,我们需要的是Docker镜像,而且是作者发布的镜像。我们可以访问这个网址:https://hub.docker.com/r/jgraph/drawio 查看相关信息。在overview部分,展示了Docker的运行介绍,同时提供了pull命令。我们可以直接复制pull命令,到本地的Docker里执行:

```bash

sudo docker pull jgraph/drawio

```

注意,通常需要写清楚完整的镜像名称和版本号,如果不写版本号的话,默认会使用latest版本。

拉取镜像完成后,根据overview中的启动命令,直接启动镜像:

```bash

sudo docker run -it --rm --name="draw" -p 8080:8080 -p 8443:8443 jgraph/drawio

```

启动后,我们可以在浏览器中输入:http://127.0.0.1:8080 测试网站是否部署成功。整个过程只需要两行命令:先拉取镜像(docker pull),再运行并加载镜像、启动容器(docker run)。操作非常简单!

下面简单介绍一下docker run命令的参数含义:

- `-it`:表示终端命令行交互模式,执行run命令时通常会加上这两个参数;

- `--rm`:表示容器结束时自动删除;

- `--name`:表示给容器起一个名字,这个参数可有可无;

- `-p`:表示端口映射,左边是本地端口,右边是容器端口(虚拟机里的端口),将本地端口映射到虚拟机里的指定端口上,当我们访问本地端口时,数据会转发到虚拟机里的端口上,完成端口映射;

接下来,我们可以运行以下命令查看镜像列表和容器列表:

```bash

docker images

docker ps

```

至此,Docker的介绍就告一段落了!是不是发现并没有想象中的那么难?实际上还是比较简单的。如果觉得操作起来有些别扭,建议多动手实践几次。