HTTPS的双向认证(八)

前面的文章讲解了容器的使用方法,这篇文章讲解容器基于docker-compose的使用方法。

使用docker-compose,启停容器和服务都比较方便,并且可以方便配置容器的各种「启动参数」,比如把「端口映射到host」,把「host的目录映射进容器」,等等。

使用docker-compose的方法来启动容器,首先把这个容器在「github」上的项目clone下来:

$ git clone git@github.com:alchemy-studio/nginx-ssl-bidirection.git

把项目clone下来以后,看一下项目的文件内容:

可以看到项目里面有docker-compose.yml这个文件。这个文件里配置了容器启动的参数,可以看下文件的内容:

上面这个配置文件主要配置了容器的两个方面:

其中entrypoint.sh这个脚本的内容如下:

可以看到这个启动脚本的作用就是容器启动以后,启动nginx服务,然后用前一篇文章介绍的方法,使用curl命令来访问nginx服务。

脚本中supervisord是负责管理nginx服务的工具,本文不详细展开,理解它的功能即可。

学习了启动脚本,我们使用docker-compose命令来启动容器。注意运行命令要在项目的目录下,因为docker-compose命令需要读取docker-compose.yml这个配置文件。下面是启动命令:

$ docker-compose up

启动过程如下:

从上面的截图可以看到容器已经由docker-compose启动了。此时使用docker命令查看容器的运行状态:

$ docker ps

执行上面的命令可以看到容器的运行状态:

可以看到容器运行了,docker-compose创建的容器的名字叫做nginx-ssl-bidirection_nginx_1,并且把容器的443端口映射到了host的443端口。

我们可以在host这边测试443端口的工作状态:

可以看到通过telnet命令可以访问host的443端口,而这个端口实际是映射到容器的443端口,由容器提供服务。在下一篇文章里,我们要在host这边来访问容器的服务。

最后学习一下关闭容器的方法。同样是使用docker-compose命令来关闭这个容器,在项目目录执行下述命令:

$ docker-compose down

以下是命令的执行情况:

可以看到容器被关停并销毁了。可以看到使用docker-compose来管理容器十分方便。

本文就讲这么多,下一篇文章讲解如何在host来访问容器的服务。

Powered by Jekyll and Theme by solid