Aristotle
发布于 2023-03-09 / 12 阅读 / 0 评论 / 0 点赞

docker nginx安装问题

docker nginx安装问题

参考文档:https://hub.docker.com/_/nginx

参考文档:https://juejin.cn/post/7085229308901326885

参考文档:https://developer.aliyun.com/article/1025138

请问docker官方nginx是否支持http2模块

Docker 官方的 Nginx 镜像已经支持 HTTP/2 模块。

您可以在 Docker Hub 上找到官方的 Nginx 镜像,它包含了 HTTP/2 模块,可以直接在 Docker 容器中使用。在 Dockerfile 中,可以通过 --with-http_v2_module 参数来编译 Nginx 并启用 HTTP/2 模块。

另外,您可以使用以下命令在 Docker 容器中验证 Nginx 是否已启用 HTTP/2 模块:

docker run --rm -it nginx nginx -V

这将输出 Nginx 的版本和编译参数,如果已经启用了 HTTP/2 模块,则会看到 --with-http_v2_module 参数。

以下是运行脚本,注意注释中的内容,然后将镜像中的/etc/nginx拷贝到主机/usr/local/下


#!/bin/bash
# 上面因为已经将nginx容器中的nginx文件夹整个cp过来的
# 这里将挂载映射整个文件夹
# 为后面实现ssl做铺垫
#mkdir -p /usr/local/www  /usr/local/nginx/{html,logs}
docker run -d --name nginx \
	--net=host  \
	-v /usr/local/www:/www \
	-v /usr/local/nginx/html:/usr/share/nginx/html \
	-v /usr/local/nginx/logs:/var/log/nginx \
	-v /usr/local/nginx:/etc/nginx \
	nginx:stable

sh脚本如果是在windows系统中创建的,可能含有linux下的非法字符,运行 dos2unix 脚本名

如果没有dos2unix,可以先安装,运行yum install -y dos2unix


如果要copy镜像中的文件到主机目录,可以这样做

1.先运行镜像

docker run -d --name=nginx nginx:stable

然后执行docker cp

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

以上将镜像中的/etc/nginx,拷贝到/usr/local下,形成/usr/local/nginx目录结构

3.删除这个运行的容器

docker rm -f nginx


如果容器运行起来了,可以查看nginx运行状态

docker exec nginx service nginx status

docker exec nginx nginx -V

dokcer exec nginx nginx -t

docker exec nginx nginx -s reload

docker exec nginx curl -I http://localhost


进入docker 容器

dokcer exec -it nginx bash


符chatgpt相关对话

要查看在Docker容器中运行的Nginx的运行状态,您可以执行以下步骤:

  1. 在终端中,使用docker ps命令列出正在运行的所有容器:

    docker ps
    
  2. 找到您运行Nginx的容器,并记录其CONTAINER ID。

  3. 运行docker exec命令,使用CONTAINER ID连接到Nginx容器:

    docker exec -it <CONTAINER ID> bash
    
  4. 在容器中运行以下命令来检查Nginx的状态:

    service nginx status
    

    或者,如果您使用的是Alpine镜像,可以使用以下命令:

    /etc/init.d/nginx status
    

    如果Nginx正在运行,您将看到一条消息,指示它正在运行。

    如果Nginx已停止,则会显示一条消息,指示它已停止。

    如果Nginx未安装,则会显示一条消息,指示未找到服务。