docker搭建nginx

在Docker下部署Nginx,包括:

  • 部署一个最简单的Nginx,可以通过端口访问默认的网站
  • 设置记录访问和错误日志的路径

以交互模式创建centos容器,如果本地没有镜像,会从仓库获取, 等待即可。

docker run -it centos /bin/bash

进入容器后通过以下命令更新源, 通过yum方式安装nginx服务

1 yum update
2 yum install -y nginx

修改配置文件 nginx.conf

server {
    listen       80 ;
    server_name  127.0.0.1;
    ...
}

可以通过命令来加载配置文件

nginx -c /路径/nginx.conf

#可以通过以下命令,来启动,停止,重启 nginx服务
#service nginx start
#service nginx stop
#service nginx restart

exit 退出容器 ,这时需要将刚才我们修改的容器打包成自己的镜像

docker commit -a 'lemon' -m 'mycentos'  容器id  镜像名:v1.0

#通过 docker ps -a 查看所有容器
#上述参数 a 作者名, m  镜像描述
#v1.0代表tag,可以不加

查看新的镜像

docker images

以后台运行的方式启动创建nginx容器,并将容器80端口映射到本机端口

docker run --name nginx_test -p 80 -d mycentos:v1.0 nginx -g "daemon off;"

上诉命令参数:

--name 容器名设置为 nginx_test

-p 容器的80端口映射到宿主机上

-d 后台启动

nginx -g "daemon off;"  表示 nginx以前台方式 运行 , 这句非常重要,因为docker前台没有运行的应用,这样的容器,后台启动后,会立即自杀,因为他觉得他没事可做了。

当然也可以通过-v参数挂载本地目录

docker run --name nginx_test -p 80 -d -v `pwd`/logs:/var/log/nginx mycentos:v1.0 nginx -g "daemon off;"

参数解释:

-v `pwd`/logs:/var/log/nginx 将容器的/var/log/nginx 目录挂载到 当前目录下的logs文件夹 (没有会自动创建)

通过命令可以看到创建的nginx_test容器

可以看到 宿主机的32778端口映射到容器的80端口

访问32778端口,查看到nginx成功启动

查看当前目录下的 logs文件夹,成功看到 access.log ,error.log

参考: http://blog.csdn.net/meegomeego/article/details/50707532

  

原文地址:https://www.cnblogs.com/loveyouyou616/p/6806788.html