基于 Docker 搭建 Nginx 服务器 在 Docker 中部署 Nginx 服务器

2023-08-27 8516阅读
首页 » 资源 » 技术 » 正文

基于 Docker 搭建 Nginx 服务器 在 Docker 中部署 Nginx 服务器

本篇文章通过直接利用官方(Docker Hub)的 Nginx 镜像在 Docker 中部署 Nginx服务

基于 Docker 搭建 Nginx 服务器 在 中部署 第1张

拉取镜像

docker pull nginx docker images
1
  docker pull nginx  docker images

docker pull: 从 Docker Hub 中拉取或者更新指定镜。(是不是有点像 git pull 命令)

docker images: 列出本地所有 docker 镜像。(是不是有点像 git branch)

基于镜像创建新的容器

docker run --name mynginx -p 80:80 nginx docker ps
1
  docker run --name mynginx -p 80:80 nginx  docker ps

使用 docker 镜像 nginx 启动一个容器,将这个容器命名为 mynginx, 同时将容器的 80端口映射到宿主机的 80端口上。

docker ps: 列出所有在运行中的容器。

这个时候,我们在浏览器中输入 IP 地址即可访问到 nginx 的默认的欢迎页面。OK, 到这里如果你觉得已经完成了本篇的主题, 那么如此简单的操作步骤其实也不值得我花精力去写这个的。

进阶:自定义 Nginx 配置

Nginx 的配置项很多, 从而满足我们各种需求,上一步 基于镜像创建新的容器中,当访问宿主机的 80端口, docker 会自动将访问引入 mynginx 容器中,利用容器中的 nginx 配置进行相关的服务。可是现在的需求是这样的:

定义自己的配置文件 nginx.conf 及用于 include 的 vhost 文件夹方便管理,放置于宿主机目录下/home/nginx 下

定义自己的 WEB 根目录 www, 放置于宿主机目录下/home/nginx 下。

创建自己的两个日志追踪文件 nginx_error.log 和 access.log,放置于宿主机目录下/home/nginx/logs 下

以上这些操作我们可以通过 docker run 命令来实现

docker run [OPTIONS] IMAGE [COMMAND] [ARG…]
1
  docker run [OPTIONS] IMAGE [COMMAND] [ARG…]

-d: 后台运行容器,并返回容器 UUID;

-i: 以交互模式运行容器,通常与 -t 同时使用;

-t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用;

-v, –volume=[] 给容器挂载存储卷,挂载到容器的某个目录

–privileged=false 指定容器是否为特权容器,特权容器拥有所有的 capabilities

–name=”” 指定容器名字,后续可以通过名字进行容器管理,links 特性需要使用名字

详情参考Docker run reference

根据 docker run 的语法,我们得到如下命令写法即可满足需求。我们可以将这些写入到一个shell 脚本里。

docker run --name nginx-atlascca3 --privileged=true -p 80:80 -v /home/nginx/nginx.conf:/etc/nginx/nginx.conf -v /home/nginx/vhost:/home/nginx/vhost -v /home/nginx/logs/nginx_error.log:/home/nginx/logs/nginx_error -v /home/nginx/www:/home/nginx/www -d nginx
1
  docker run --name nginx-atlascca3 --privileged=true -p 80:80 -v /home/nginx/nginx.conf:/etc/nginx/nginx.conf -v /home/nginx/vhost:/home/nginx/vhost -v /home/nginx/logs/nginx_error.log:/home/nginx/logs/nginx_error -v /home/nginx/www:/home/nginx/www -d nginx

注意,在调试过程中,利用 docker ps 查看容器是否创建, 利用 docker rm containerid 删除一个容器,

若没有创建说明命令执行不成功,可以把命令行中的 -d 选项去掉即将显示出相关错误信息。

 

Docker系列文章目录:

CentOS7 安装 Docker 教程

Docker 的八个真实应用场景


    免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们,邮箱:ciyunidc@ciyunshuju.com。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!

    目录[+]