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
这个脚本。 - 把容器的
443
端口映射到host的443
端口。
其中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来访问容器的服务。
- 上一篇 HTTPS的双向认证(七)
- 下一篇 HTTPS的双向认证(九)