docker 安装启动 nginx 修改配置资源容器端口

这篇具有很好参考价值的文章主要介绍了docker 安装启动 nginx 修改配置资源容器端口。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

查看docker镜像

可以先查看docker下是否存在nginx镜像,使用如下这些命令查看:

  • docker images: 列出所有镜像。
  • docker images nginx: 列出所有nginx镜像,不同版本等等。
  • docker search nginx: 搜索查看所有nginx镜像信息。

拉取安装nginx镜像

使用 pull 命令拉取nginx镜像:

docker pull nginx

出现以下内容,等待下载完成即可:
docker 安装启动 nginx 修改配置资源容器端口

运行nginx

下载完成nginx镜像后,就可以启动运行nginx了,使用如下命令:

docker run -d --name nginx -p 8080:80 nginx

其中命令说明如下:

  • -d 后台持续运行运行。
  • –name 自定义的容器名称。
  • -p 映射主机端口号到docker容器的端口号。
    这里端口8008即为外部web访问的端口号,而80则为nginx容器对外暴露的端口号。

启动成功,就可以通过 ip:8008 访问站点。
docker 安装启动 nginx 修改配置资源容器端口
以上即是 docker 安装启动 nginx 容器服务成功。

非常简单的处理,接下来我们要做的事情,是如何处理nginx的配置、日志、静态资源等等内容,这些就相对复杂了。有多种方式可以处理配置资源文件等,下面将详细介绍。

映射到本地目录

查看nginx容器的配置资源目录

  1. 进入容器,可以执行命令
docker exec -it container-id/container-name bash
docker exec -it container-id/container-name /bin/bash
// -i: 以交互模式运行
// -t: 为容器重新分配一个伪输入终端
// -i 与 -t 通常同时使用
// container-id     容器id
// container-name   自定义容器名称
// bash (/bin/bash) linux 命令,启动一个bash终端,可与用户交互
  1. 进入容器bash终端后,可以查看到nginx相关内容的目录位置如下:

log 日志文件目录:/var/log/nginx
config 配置文件目录: /etc/nginx
web 资源存放目录: /usr/share/nginx/html

注意,这时候可以查看对应的文件信息,但这里不能使用vi查看文件内容,因为是新的终端命令环境,vi无法使用。
可以使用 cat 命令, 如:

cat nginx.conf

此外,使用 exit 命令可以退出容器当前终端命令环境。

映射nginx目录

将nginx容器的配置日志资源等目录映射到本地主机目录下,需要在启动容器时,使用到 -v 命令,如:

docker run -d --name nginx \
-p 8080:80 \
-v /usr/nginx/html:/usr/share/nginx/html \
-v /usr/nginx/log:/var/log/nginx \
-v /usr/nginx/nginx.conf:/etc/nginx/nginx.conf \
nginx

其中 -v 是目录挂载,将本地目录映射到容器目录,后面直接修改本地目录下的内容,会同步到容器内。
上面的命令,挂载了nginx的资源文件目录、日志目录、配置文件。
这时候如果查看配置文件nginx.conf,可以发现,有这么一段:

include /etc/nginx/conf.d/*.conf;

这是由于nginx容器除了加载主配置文件nginx.conf以外,还加载了conf.d目录下的子配置文件,通常最少有一个default.conf。所以,在启动容器时,也可以把该目录挂载出来:

-v /usr/nginx/conf.d:/etc/nginx/conf.d

也可以只使用nginx.conf,修改下配置,不使用conf.d的子配置,但docker容器默认的是使用自配置。

在挂载了内容资源后,就可以将静态web文件上传到对应的主机目录。
也可以直接在主机目录修改配置文件,然后重新启动nginx,就能生效。

docker stop nginx
docker start nginx

拷贝容器资源

另外一种更改配置资源内容的方式,是使用 docker cp 命令。

docker cp :用于容器与主机之间的数据拷贝

通过该命令,就可以拷贝本地内容到容器里面去,如下面命令就可以将html文件拷贝到nginx容器的静态资源目录:

docker cp /usr/nginx/html/mian.html nginx:/usr/share/nginx/html

也可以拷贝配置文件:

// 从容器拷贝到本地目录
docker cp nginx:/etc/nginx/nginx.conf /usr/nginx/nginx.conf
// 从本地目录拷贝到容器
docker cp /usr/nginx/nginx.conf nginx:/etc/nginx/nginx.conf

通过拷贝的方式,可以变更静态资源文件,修改配置文件,查看log日志等等。

端口问题

注意:
在通过 docker run 命令启动nginx的时候,通过 -p 设置了端口,默认选择的nginx容器的端口号是80。
如果通过配置文件修改了nginx容器的端口号,如把 server 80 改成 server 8080,在重启nginx容器,此时,nginx服务会失效,无法有效访问站点。
即非80端口的容器,无法访问。

如果要部署多个网站,可以启动多个容器,每个容器可以对应一个端口号。这时,可以修改每个容器的日志配置资源文件等内容。文章来源地址https://www.toymoban.com/news/detail-469710.html

修改运行中的容器的端口的方法

  • 停止 nginx 容器的运行,docker stop nginx
  • 查看 nginx 容器的id,docker inspect nginx | grep "Id", 会显示完整的容器Id
  • 通用路径 /var/lib/docker/containers/{容器Id}/hostconfig.json,里面就存放有容器端口和本地端口,可以进行修改,通过 vi 命令查看、修改:
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FlsflcQF-1660536230025)(./host.png ‘修改端口’)]
    80/tcp 是容器端口,HostPort: 8005 是本地端口,可修改。
  • 重启docker, systemctl restart docker
  • 重启nginx容器, docker start nginx

到了这里,关于docker 安装启动 nginx 修改配置资源容器端口的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • docker 容器修改端口和目录映射

    一般在运行容器时,我们都会通过参数 -p(使用大写的-P参数则会随机选择宿主机的一个端口进行映射)来指定宿主机和容器端口的映射,例如 这里是将容器内的80端口映射到宿主机的8088端口 参数说明 -d 表示后台运行容器 -t 为docker分配一个伪终端并绑定到容器的标准输入上

    2024年04月26日
    浏览(45)
  • 如何修改docker容器的端口映射

    要修改 Docker 容器的端口映射,你需要停止并删除现有的容器,然后使用新的端口映射重新运行容器。以下是详细步骤: 停止容器 : 使用 docker stop 命令停止正在运行的容器。替换 container_id 为你要停止的容器的 ID 或者容器的名称。 删除容器 : 使用 docker rm 命令删除已停止

    2024年02月22日
    浏览(33)
  • Docker修改容器已经映射的端口

    Docker启动容器后,需要新增或者修改端口映射 修改配置文件更改端口 关闭容器 需要先关闭Docker,否则配置不生效 查看容器挂载目录 修改配置 修改 hostconfig.json 文件 修改 config.v2.json 文件 并不需要修改Ports,只有在你没有stop容器时,Ports才会有值,如果关闭了容器,就是空数

    2024年02月05日
    浏览(41)
  • 修改docker容器端口映射到主机的方法

    如何修改已经创建好的容器的映射端口 我们都知道docker在创建时可以指定端口映射,但是容器一旦创建好,就没有命令支持直接修改映射端口。如果我们已经对容器里面的内容已经做了一定更改,不能删除进行重建,怎么办呢?通常间接的办法是,保存镜像,再创建一个新的

    2024年02月14日
    浏览(41)
  • docker为已启动的容器添加端口映射

    针对已运行的容器添加端口映射 1、查看容器是否映射端口 有端口映射: 无端口映射: 2、查看容器完整Id 3、进入docker容器目录查看 4、根据得到的容器完整id进入目录 目录中分别有两个文件: hostconfig.json 和 config.v2.json ,直接查看文件内容比较混乱可以下载到本机,使用

    2024年02月16日
    浏览(40)
  • Docker中对已存在运行的容器修改端口映射和容器卷映射

    一、初次创建容器,指定宿主机和容器端口的映射,如下示例: 二、对已存在运行容器,更改端口 方式一:(删了原来的,根据image重做) 1、停止容器 2、将容器打包成镜像 3、用“一”中的命令,通过新镜像开启新容器 方式二:(直接修改现有容器) 1、停止容器 2、查找

    2024年02月16日
    浏览(40)
  • 修改运行中的docker容器的端口映射(简单、高效)

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 在docker run创建并运行容器的时候,可以通过-p指定端口映射规则。但是,我们经常会遇到刚开始忘记设置端口映射或者设置错了需要修改。当docker start运行容器后并没有提供一个-p选项或设置,让你修改

    2024年02月08日
    浏览(26)
  • docker 在已经启动的容器中开启端口映射

    在找这个ID的时候要先在之前docker没关闭之前查看 配置文件如下 这个是hostconfig.json 在这里要把映射的端口信息写入 这里是config.v2.json 这里要把暴露的端口写入 在本机查看一下端口占用

    2024年02月08日
    浏览(32)
  • docker 安装的mysql修改配置文件 一、先看一下容器绑定的配置文件目录在哪

    如图,mysql容器的配置文件映射在服务器  /opt/mysql_docker/conf目录下。所以想修改容器的配置文件内容,只需要修改 /opt/mysql_docker/conf中的配置文件。  二、发现 /opt/mysql_docker/conf 目录下没有文件。 三、进入mysql容器,复制mysql的配置文件内容 复制内容如下: 四、在服务器/op

    2024年02月11日
    浏览(32)
  • 在Docker中为Nginx容器添加多端口映射的详细指南

    Nginx作为一款高性能的HTTP和反向代理服务器,常被用于处理网站流量、负载均衡以及反向代理等多种场景。在Docker环境中部署Nginx时,灵活地配置端口映射是确保服务正常运行的关键步骤之一。本文将深入探讨如何在启动Nginx Docker容器时,通过Docker命令行添加多端口映射,同

    2024年04月28日
    浏览(47)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包