Docker 安装部署 Nginx

获取 Nginx 镜像

  1. 使用 docker search nginx 命令获取nginx镜像列表
    在这里插入图片描述

  2. 使用 docker pull nginx 命令拉取nginx镜像到本地,推荐使用官方最新镜像
    在这里插入图片描述

  3. 使用 docker images nginx 命令,查看我们拉取到本地的 nginx镜像 IMAGE ID
    在这里插入图片描述

创建 Nginx 容器

  1. 首先测试下 nginx 镜像是否可用,使用docker run -d --name nginx -p 80:80 c919045c4c2b 创建并启动nginx容器
  • -d 指定容器以守护进程方式在后台运行
  • –name 指定容器名称,此处我指定的是mynginx
  • -p 指定主机与容器内部的端口号映射关系,格式 -p [宿主机端口号]:[容器内部端口],此处我使用了主机80端口,映射容器80端口
  • c919045c4c2b 是nginx的镜像IMAGE ID

命令执行后返回了容器ID, 此时我们已经成功创建了 nginx 容器, 使用 docker ps 命令,可以查看到正在运行的 nginx 容器,映射端口为80
在这里插入图片描述
在浏览器访问主机,会看到nginx欢迎页,如果是云服务器,请记得开放对应的外网端口!!!!

修改 Nginx 配置文件

方式1: 每次都进入到nginx容器内部修改。适合改动少,简单使用的情况
  1. 执行 docker exec -it 容器ID /bin/bash 进入到 nginx 容器内部,
  • exec 命令代表附着到运行着的容器内部
  • -it 是 -i 与 -t两个参数合并写法,-i -t 标志着为我们指定的容器创建了TTY并捕捉了STDIN
  • 容器 ID 是我们要进入的容器Id
  • /bin/bash 指定了执行命令的 shell
    在这里插入图片描述
  1. 进入到nginx容器内部后,我们可以 cd /etc/nginx,可以看到相关的nginx配置文件都在 /etc/nginx 目录下
    在这里插入图片描述
    而 nginx 容器内的默认首页 html 文件目录为 /usr/share/nginx/html, 日志文件位于/var/log/nginx
  2. 执行 exit 命令我们可以从容器内部退出
方式2: 将nginx容器内部配置文件挂载到主机,之后就可以在主机对应目录修改即可。适合频繁修改,复杂使用的情况
  1. 在主机 /opt 目录下执行 mkdir -p ./nginx/{conf,html,logs}创建挂载目录
    在这里插入图片描述

  2. 将容器内的 nginx.conf 与 default.conf 文件分别拷贝到主机 /opt/nginx和 /opt/nginx/conf 下

docker cp 983204a583aa:/etc/nginx/nginx.conf ./
docker cp 983204a583aa:/etc/nginx/conf.d/default.conf ./conf/

cp 命令代表复制, 983204a583aa 是我们 nginx 容器的ID, /etc/nginx/nginx.conf 是容器内部 nginx.conf 路径

  1. 执行 docker stop 983204a583aa 命令停止刚刚创建的 nginx 容器,然后执行 docker rm 983204a583aa 移除容器
  2. 执行
docker run -d --name mynginx -p 80:80 -v /opt/nginx/nginx.conf:/etc/nginx/nginx.conf -v /opt/nginx/logs:/var/log/nginx -v /opt/nginx/html:/usr/share/nginx/html -v /opt/nginx/conf:/etc/nginx/conf.d --privileged=true nginx

创建容器, 映射端口, -v 挂载目录,表示将主机目录与容器目录之间进行共享,
–privileged=true 容器内部对挂载的目录拥有读写等特权

  1. 这时候,访问会出现403,不要惊慌。我们的主机挂载 /opt/nginx/html 目录还为空, 这时我们在容器的挂载 /opt/nginx/html 目录下创建 index.html, 内容随便写上hello docker nginx,再次访问主机 IP
    我们在挂载目录的操作,都实际会映射到容器内部,写配置文件的时候一定要注意路径问题
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

敲代码der

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

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

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

打赏作者

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

抵扣说明:

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

余额充值