Docker部署Nginx

docker 安装nginx

1.下载nginx镜像

docker pull nginx

2.创建nginx挂载目录 用于docker于本地路径映射

    mkdir -p /usr/local/nginx/{conf,html,log,ssl}

3.启动nginx容器,用于copy一些文件放在步骤2的目录下

     docker run --name nginx -p 80:80 -d nginx

4.将nginx容器下文件,copy到步骤2的目录下

docker cp nginx:/etc/nginx/conf.d  /usr/local/nginx/conf/

docker cp nginx:/etc/nginx/nginx.conf /usr/local/nginx/conf/nginx.conf

docker cp nginx:/usr/share/nginx/html/index.html /usr/local/nginx/html/index.html

5.根据业务修改宿主机目录中的nginx.conf文件、并并删除容器、重启容器

        配置项https

        配置http转发

6.重启容器

#删除容器

      docker rm -f nginx      

    #启动容器并挂载目录

docker run \

-p 80:80 \

-p 443:443 \

--name nginx \

--restart=always \

-v /usr/local/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \

-v /usr/local/nginx/conf/cert:/etc/nginx/cert \

-v /usr/local/nginx/ssl:/etc/nginx/ssl/  \

-v /usr/local/nginx/conf/conf.d:/etc/nginx/conf.d \

-v /usr/local/nginx/log:/var/log/nginx \

-v /usr/local/nginx/html:/usr/share/nginx/html \

-d nginx

7.注意事项

defaul.conf文件中,出现的绝对路径都是容器内的路径,而不是宿主机的,比如说配置ssl时:

ssl_certificate      /etc/nginx/ssl/telami.cn.pem;    #此处不是宿主机目录,而是容器内的路径

     ssl_certificate_key  /etc/nginx/ssl/telami.cn.key;       #此处不是宿主机目录,而是容器内的路径

8.查找安装路径 nginx

      whereis nginx

9.查找nginx配置项所在位置

      sudo find / -name nginx.conf

10.不重启docker更新nginx配置文件

查看容器

docker ps -a

//测试nginx配置是否正确

docker exec 容器id nginx -t

//重新加载nginx配置

docker exec 容器id nginx -s reload

你可能感兴趣的:(nginx,docker,运维)