docker部署nginx

docker安装nginx非常简单,只需要docker pull nginx下载,并通过docker run命令进行启动即可。参考我的博客 https://blog.csdn.net/huangbaokang/article/details/97764768

docker部署nginx

我们在docker安装nginx,其实是为了在nginx访问我们程序静态页或者代理访问。
就像我们平时在linux里安装nginx一样,安装完之后会在我们的linux系统生成对应的安装目录。
比如默认的nginx安装在/usr/local/nginx等等。那么各位小伙伴是否有同样的疑问:docker安装的nginx,文件安装在哪里?日志文件在哪里?配置文件又在哪里?

其实前提需要理解docker容器的思想。
当docker运行nginx时,外界访问还是docker所在的那个IP地址,就相当于nginx在那台机器上运行一样。
但对于docker所在的那台机器来说,nginx就是附属于docker的一个镜像。若操作nginx还是由docker登录nginx容器,进行操作。
登录的nginx容器就是一个linux系统,只不过只有nginx而已,nginx按照linux默认路径安装。

也就是说,docker容器使用一个linux系统,在这个系统上安装了nginx。
使用docker exec进入对应容器的linux系统

[root@localhost bin]# docker exec -it hbk_nginx_test bash
root@6f046d11c395:/# ls
bin  boot  dev	etc  home  lib	lib64  media  mnt  opt	proc  root  run  sbin  srv  sys  tmp  usr  var

可以看到是linux的目录结构,而这个linux系统可以理解成为了安装nginx,docker虚拟化出来的新系统。

其中/usr/share/nginx/html是docker安装nginx默认的存储位置。

root@6f046d11c395:/usr/share/nginx/html# ls
50x.html  index.html
root@6f046d11c395:/usr/share/nginx/html# echo "huangbaokang" > hbk.txt
root@6f046d11c395:/usr/share/nginx/html# ls
50x.html  hbk.txt  index.html

访问我们的页面
在这里插入图片描述
默认的nginx配置文件 /etc/nginx/nginx.conf
默认的日志文件位置:/var/log/nginx

不过我们一般启动的时候,指定配置文件和静态页存放位置以及日志文件
我们跟容器里的linux还可以进行复制等通讯操作。

[root@localhost /]# docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                  NAMES
6f046d11c395        nginx               "nginx -g 'daemon ..."   3 hours ago         Up 3 hours          0.0.0.0:8888->80/tcp   hbk_nginx_test

[root@localhost /]# mkdir test/conf test/logs test/www
[root@localhost /]# docker cp 6f046d11c395:/etc/nginx/nginx.conf test/conf/

启动的时候,如下:

[root@localhost /]# docker run --name hbk_nginx_web -p 8888:80 -v /test/www:/usr/share/nginx/html  -v /test/conf/nginx.conf:/etc/nginx/nginx.conf -v /test/logs:/var/log/nginx -d nginx

这样的话,我们直接操作/test/www目录下的文件等同于操作docker容器里linux系统的/usr/share/nginx/html目录文件。

[root@localhost www]# echo "hello world" > hello.html
[root@localhost www]# pwd
/test/www
[root@localhost www]# ls
hello.html

在这里插入图片描述

重启 NGINX 容器命令:

$ docker restart container-name
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

黄宝康

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值