您的位置:首页 > 运维架构 > Docker

1.docker最小化搭建nginx nginx-1.12-alpine

2017-08-26 17:45 761 查看
相关环境

    操作系统   :OS X EI Capitan 10.11.6
    docker版本 : Version 17.06.0-ce-mac19
    镜像版本   :
    mysql               5.6                          298MB
    redis               4.0-alpine                 27.5MB
    php                 5.6.31-fpm-alpine     53.9MB
    nginx               1.12-alpine               15.5MB

配置文件存放目录
/Docker
    /nginx
           /conf
            /logs
            /wwwroot
        
一、创建自定义网络

    创建一个自定义的桥接网络,可以固定ip地址,避免每次重启容器都要改变其IP地址

docker network create --subnet=172.18.0.0/16 mynetwork


    查看是否创建成功
docker network ls




二、创建一个nginx参考容器,用于复制里面的nginx配置

docker run --name mynginx --net mynetwork --ip 172.18.0.8 -p 80:80 -d nginx:1.12-alpine


dockerfile文件地址:https://github.com/nginxinc/docker-nginx/blob/7e278fff2f12f852ef1be2aed17e9a2f822365ac/stable/alpine/Dockerfile#L24
将nginx的配置文件全部复制到nginx/conf目录下
1.进入conf目录
2.开始复制nginx配置文件
docker cp mynginx2:/etc/nginx/ ./

注:这里会复制到一半停下来,容器中/etc/nginx目录下的modules目录是软链接
手动复制继续复制

docker cp mynginx2:/usr/lib/nginx/modules modules
docker cp mynginx2:/usr/lib/nginx/nginx.conf nginx.conf
docker cp mynginx2:/etc/nginx/nginx.conf nginx.conf
docker cp mynginx2:/etc/nginx/nginx.conf.default nginx.conf.default
docker cp mynginx2:/etc/nginx/scgi_params scgi_params
docker cp mynginx2:/etc/nginx/scgi_params.default scgi_params.default
docker cp mynginx2:/etc/nginx/uwsgi_params uwsgi_params
docker cp mynginx2:/etc/nginx/uwsgi_params.default uwsgi_params.default
docker cp mynginx2:/etc/nginx/win-utf win-utf


3.停止参考容器

docker stop  mynginx2
docker rm  mynginx2


4.运行正式容器

cd ../nginx
docker run -itd --name nginx --net mynetwork --ip 172.18.0.8 -p 80:80 -d -v $PWD/conf:/etc/nginx -v $PWD/logs:/var/log/nginx -v $PWD/wwwroot:/www nginx:1.12-alpine


注:-v 是目录或者文件映射 这里将nginx容器中的nginx配置文件、日志目录映射宿主机的nginx/conf、nginx/logs目录,在nginx容器的根目录创建了一个www目录映射对应nginx的网站根目录  ( $PWD表示当前目录)
5.在本机访问localhost

curl localhost

访问成功!



再看看宿主机的日志目录

tail logs/access.log



6.修改nginx配置 localhost的文件定义
 /nginx/conf/conf.d/default.conf 将文件路径改成/www 对应宿主机的wwwroot目录



7.重启nginx 容器

docker restart nginx

在wwwroot目录下建立一个index.html 文件,并编辑输入hello world !, 再次访问localhost

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: