nginx镜像构建的知识点及方法步骤详解

 更新时间:2023年08月31日 09:39:52   作者:毛毛虫的小小蜡笔  
这篇文章主要为大家介绍了nginx镜像构建的知识点详解,<BR>有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

1、如何进入nginx容器

// 通过exec命令可以进入到镜像里面。
docker exec -it nginx-alpine /bin/sh
// 退出镜像
exit

这里需要注意下,如果是标准的nginx镜像,一般是通过 docker exec -it nginx01 bash 来进入到镜像里面。

所以当通过 bash 进不去的时候,可换成其他命令试试。

比如:docker exec -it nginx-alpine sh

因为Dockerfile没有设置WORKDIR,所以进去后就到根目录了。而且因为当前的nginx镜像是alpine版本,进去后用不了 ll 命令,只能是 ls 命令。相当于精简了一些命令。

nginx配置文件在/etc/nginx

2、把文件从宿主机拷贝到容器里面

方法一:

通过docker的cp命令。

// 比如当前在 /data/docker目录,下面命令是拷贝目录下的nginx.conf配置文件到容器7d0b413ce005(容器id,可通过docker ps查看)的/etc/nginx目录里面
docker cp nginx.conf 7d0b413ce005:/etc/nginx/

方法二:

在创建镜像的时候,一起拷贝文件。这就需要在Dockerfile文件里面写命令了。

// 在Dockerfile文件中新增COPY命令。拷贝跟Dockerfile同目录下的index.html到容器的/usr/share/nginx/html目录下面。如果容器有该文件,则会替换掉。
COPY index.html /usr/share/nginx/html/

3、启停容器和nginx镜像以及查看nginx日志

容器的操作:

// 可以通过容器id来启动停止操作。比如改了nginx的配置,那可以通过容器的restart命令来应用刚才的nginx配置。
docker start 13e9f1a7c64f
docker stop 13e9f1a7c64f
docker restart 13e9f1a7c64f
// 查看nginx日志。logs后面加容器的名称或者容器的id
docker logs nginx-alpine
docker logs 13e9f1a7c64f
// 也可以通过容器名称来启动停止操作。nginx-alpine是容器名称,可通过docker ps和docker ps -a查看。
docker start nginx-alpine
docker stop nginx-alpine
docker restart nginx-alpine

nginx镜像的操作

// 13e9f1a7c64f是容器id,可通过docker ps查看。前提是容器在运行中。
docker exec 13e9f1a7c64f nginx -s stop
docker exec 13e9f1a7c64f nginx -s start
docker exec 13e9f1a7c64f nginx -s reload

执行上面命令的前提是容器在运行中。

如果容器不在运行中,可通过容器的操作来启动容器,再操作nginx。

所以一般不操作nginx命令,而是操作容器来启停nginx镜像服务。

如果想停止nginx服务,可以通过容器的stop,而不是用nginx的stop命令。启动,则是容器的start命令。重启,则是容器的restart命令。

比如改了nginx的配置,那可以通过容器的restart命令就可以。

4、镜像和容器的删除操作

// 删除镜像。可通过docker images查看imageid
docker rmi imageid
// 删除容器。可通过docker ps或者docker ps -a查看containerid
docker rm containerid

5、docker的启动等操作

systemctl start docker
systemctl stop docker
systemctl status docker

6、保存和导入镜像或容器

// 保存容器nginx-alpine:v1到tar文件。
save -o nginx-alpine.tar nginx-alpine:v1
// 导入镜像
docker load -i nginx-alpine.tar

7、使用nginx -g daemon off启动nginx容器的原因

简单来说,是为了保持nginx容器不退出,要关闭nginx后台运行。

以上就是nginx镜像构建的知识点及方法步骤详解的详细内容,更多关于nginx镜像构建的资料请关注脚本之家其它相关文章!

相关文章

  • nginx配置域名转发到其他域名的几种方法小结

    nginx配置域名转发到其他域名的几种方法小结

    本文主要介绍了nginx配置域名转发到其他域名的几种方法小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-06-06
  • Nginx限流配置详解

    Nginx限流配置详解

    限流是服务降级的一种方式,通过限制系统的输入和输出流量以达到保护系统的目的,本文主要介绍了Nginx限流配置详解,感兴趣的可以了解一下
    2023-11-11
  • Nginx禁止国外IP访问我的网站的实现

    Nginx禁止国外IP访问我的网站的实现

    本文主要介绍了Nginx禁止国外IP访问我的网站的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-07-07
  • nginx php-fpm 小VPS 优化

    nginx php-fpm 小VPS 优化

    小VPS受系统资源的限制,访问量过大,超过系统所能承受的极限时,有一部分请求就会502了。在系统资源够用的情况,优化nginx,php-fpm,以及系统本身
    2016-05-05
  • 详解在使用CDN加速时Nginx获取用户IP的配置方法

    详解在使用CDN加速时Nginx获取用户IP的配置方法

    这篇文章主要介绍了在使用CDN加速时Nginx服务器获取用户IP的方法,文中针对PHP站点环境举例来讲,需要的朋友可以参考下
    2016-02-02
  • Nginx的一些基本功能极速入门

    Nginx的一些基本功能极速入门

    本文主要介绍一些Nginx的最基本功能以及简单配置,但不包括Nginx的安装部署以及实现原理。有兴趣的可以了解一下。
    2016-12-12
  • 解决systemctl reload nginx重启Nginx服务报错:Job for nginx.service invalid问题

    解决systemctl reload nginx重启Nginx服务报错:Job for&n

    文章描述了通过`systemctl status nginx.service`发现Nginx服务未启动,启动失败的原因可能是端口号被占用,使用`netstat -ntlp | grep 80`命令找到了占用80端口的进程(PID为7008),通过`kill 7008`停止了该进程,然后重新启动Nginx
    2025-01-01
  • 使用Nginx Ingress 优雅显示错误页面

    使用Nginx Ingress 优雅显示错误页面

    这篇文章主要为大家介绍了使用Nginx Ingress 优雅显示错误页面实现示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-09-09
  • Nginx配置Https安全认证的实现

    Nginx配置Https安全认证的实现

    为了保障应用的安全性,我们在架构网络层的时候需要采用HTTPS协议。本文介绍了Nginx配置Https安全认证的实现,分享给大家,感兴趣的可以了解一下
    2021-05-05
  • 深入分析nginx+php-fpm服务HTTP状态码502

    深入分析nginx+php-fpm服务HTTP状态码502

    这篇文章主要介绍了深入分析nginx+php-fpm服务HTTP状态码502,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-07-07

最新评论