docker搭建lrnp环境实例

docker搭建lrnp环境的网络设置2种方式:
1.通过宿主机ip和指定端口建立互联,适用于外网来访问容器服务
修改nginx.conf里fastcgi_pass 192.168.30.6:9001; #宿主机ip:docker php容器代理端口
启动容器
docker run -itd -p 81:80 -v /www/wwwroot/docker/lrnp_net/nginx/conf:/conf --name nginx_web nginx
docker run -itd -p 9001:9000 -v /www/wwwroot/docker/lrnp_net/www:/www --name php7_web php7
docker run -itd -p 6380:6379 -v /www/wwwroot/docker/lrnp_net/redis/conf:/redis --name redis5_web redis5

出现IPv4 forwarding is disabled时,在vim /etc/sysctl.conf 添加net.ipv4.ip_forward=1
当出现连接拒绝Connection refused的时候,可以查看宿主机防火墙和端口开放状态,使用ping 192.168.30.6 -c 2测试ip是否连接

测试:
修改nginx.conf里fastcgi_pass 192.168.30.6:9001; # 宿主机IP:php容器端口
web测试
docker exec -it php7_web sh
curl http://192.168.30.6:81/index.php -w '\n'
curl http://127.0.0.1/index.php -w '\n'
在浏览器使用http://192.168.30.6:81/index.php访问
redis测试
docker exec -it redis5_web bash
确认宿主机安装了redis
redis-cli -h 192.168.30.6 -p 6380,也可以redis-cli -h 127.0.0.1 -p 6379访问

2.通过指定网络,设置各容器固定ip建立互联(注意:设置网络段应和宿主机ip不同),适用于服务容器内部通信
自定义网络lrnp,默认为bridge模式
docker network create --subnet=182.10.10.0/24 lrnp
修改nginx.conf里fastcgi_pass 182.10.10.3:9000;#容器php7 ip:容器端口
启动容器
docker run -itd --network=lrnp --ip=182.10.10.2 -v /www/wwwroot/docker/lrnp/nginx/conf:/conf --name nginx nginx
docker run -itd --network=lrnp --ip=182.10.10.3 -v /www/wwwroot/docker/lrnp/www:/www --name php7 php7
docker run -itd --network=lrnp --ip=182.10.10.4 -v /www/wwwroot/docker/lrnp/redis/conf:/redis --name redis5 redis5

docker-compose可以帮助我们快速的构建和对容器的启动以及停止等操作
7.jpg

根据docker-compose.yml创建服务和容器,在.yml文件目录下执行:
docker-compose up -d

测试:
修改nginx.conf里fastcgi_pass 182.10.10.20:9000;#容器php_compose ip:容器端口
web测试
docker exec -it php_compose sh
curl http://182.10.10.10/index.php -w '\n'
redis测试
redis-cli -h 182.10.10.30 -p 6381

标签: Docker, lrnp

相关文章

添加新评论