经常会出现两个容器需要连接的情况,例如一个php-fpm,一个nginx,分别跑在不同的容器中,这个时候就需要对两个容器进行连接,使其正常提供WEB服务。

这里我们使用官方的镜像作为例子,先拉回来PHP和nginx的镜像:

docker pull php:7.0.5-fpm
docker pull nginx:1.9.15

接下来把PHP这个容器运行起来:

docker run --name phpfpm -d -v /home/lightless/Documents/dockershare/php:/app php:7.0.5-fpm php-fpm

通过-v指定WEB路径,WEB文件放在主机中而不是docker里,这里是把主机的dockershare下的php文件夹挂到了容器的/app,其实全部的WEB文件都在php下面。-d指定以守护的方式运行,最后的php-fpm指定运行php-fpm命令。

然后我们把nginx的容器运行起来:

docker run --name nginx_server -d -p 80:80 --link phpfpm:phpfpm -v /home/lightless/Documents/dockershare/nginx.conf:/etc/nginx/nginx.conf --volumes-from phpfpm nginx:1.9.15

使用-p参数做端口映射,--link参数来连接两个容器,同样的用-v参数把nginx.conf挂载进容器中,使用--volumes-from将WEB文件夹(dockershare/php/)挂载到nginx的容器中。

之后在主机访问127.0.0.1就可以看到两个容器已经正常工作了。