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地址
查看是否创建成功
二、创建一个nginx参考容器,用于复制里面的nginx配置
dockerfile文件地址:https://github.com/nginxinc/docker-nginx/blob/7e278fff2f12f852ef1be2aed17e9a2f822365ac/stable/alpine/Dockerfile#L24
将nginx的配置文件全部复制到nginx/conf目录下
1.进入conf目录
2.开始复制nginx配置文件
注:这里会复制到一半停下来,容器中/etc/nginx目录下的modules目录是软链接
手动复制继续复制
3.停止参考容器
4.运行正式容器
注:-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
操作系统 :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
相关文章推荐
- 使用docker 1.12 搭建多主机docker swarm集群
- cAdvisor、InfluxDB、Grafana搭建Docker1.12性能监控平台
- Docker 1.12 以前的: swarm 搭建 docker 集群
- cAdvisor、InfluxDB、Grafana搭建Docker1.12性能监控平台
- [置顶] cAdvisor、InfluxDB、Grafana搭建Docker1.12性能监控平台
- 详解使用docker 1.12 搭建多主机docker swarm集群
- 【举例1】Docker环境部署过程-以Wordpress个人博客系统搭建为例
- docker搭建linux集群,搭建mpi环境,并使用MTT benchmark测试集群性能
- 基于 Docker、Kubernetes 实现高效可靠的规模化 CI/CD 流水线的搭建
- Docker搭建
- Docker 1.12 Swarm集群实战(第五章)
- 虚拟机CentOS7最小化安装下源码编译搭建LAMP环境之一: ————CentOS7最小化安装
- 如何使用Docker、Docker-Compose和Rancher搭建部署Pipeline(四)
- 使用 Docker 搭建 Laravel 本地环境的教程详解
- docker搭建本地镜像仓库
- 使用 Docker 一步搞定 ZooKeeper 集群的搭建
- 快速搭建CentOS7 、docker、Python3
- Linux 下 docker NGINX+PHP+MYSQL+REDIS+Elasticsearch 开发环境搭建
- RocketMQ 4.1.0 与 Docker搭建与集群
- 基于Docker 搭建 wordpress