docker学习——Dockerfile构建nginx镜像

一、Dockerfile构建nginx

注意:在dockerfile中安装时最好是在宿主机上先安装一遍,若是没有问题则在dockerfile中进行安装。

1. 新建一个test_2目录,将nginx压缩包下载到该路径下然后进行解压

在这里插入图片描述
在这里插入图片描述

2. 新建一个test_2目录,将nginx压缩包下载到该路径下然后进行解压
1. dockerfile
FROM centos:7
ADD nginx-1.16.0.tar.gz /usr/local
COPY nginx_install.sh /usr/local
RUN sh /usr/local/nginx_install.sh
EXPOSE 80
2. 安装nginx的shell脚本
#!/bin/bash   //指明 解释器
yum install -y gcc gcc-c++ make pcre pcre-devel zlib zlib-devel
cd /usr/local/nginx-1.16.0
./configure --prefix=/usr/local/nginx && make && make install //指明安装路径并进行安装
  • 安装nginx的依赖包
    在这里插入图片描述

  • 进入到nginx目录
    在这里插入图片描述

  • 指明安装路径并进行安装(一定要在安装包下进行)
    在这里插入图片描述

  • 在home目录下新建一个脚本文件
    在这里插入图片描述

  • 将home目录下的脚本文件移动到/root/test_2目录下
    在这里插入图片描述

  • 将dockerfile文件写入
    在这里插入图片描述

3. 制作Nginx镜像:
docker build -t mycentos:nginx .

在这里插入图片描述
在这里插入图片描述

4. Nginx镜像启动注意
4.1 (后台启动)在容器里nginx是以daemon方式启动,退出容器时,nginx程序也会随着停止:
/usr/local/nginx/sbin/nginx

在这里插入图片描述
容器太过繁忙,关闭几个镜像
在这里插入图片描述

  • 启动一下
    在这里插入图片描述
    在这里插入图片描述
    如果启动不成功检查一下防火墙是否关闭,若没有关闭将防火墙关闭。
  • 关闭nginx
    在这里插入图片描述
4.2 使用前台方式永久运行(推荐):
/usr/local/nginx/sbin/nginx -g "daemon off;"

在这里插入图片描述

5. 检查验证:

在执行该条命令之前一定要以前台的方式启动nginx。

docker run -itd -p 80:80 mycentos:nginx /usr/local/nginx/sbin/nginx -g "daemon off;"
  • 报错:
    在这里插入图片描述
    分析:由于之前的脚本文件的目录错误
    在这里插入图片描述
    将该路径改为
    cd /usr/local/nginx-1.16.0

    在这里插入图片描述

  • 删除之前的镜像,重新构建一下。
    在这里插入图片描述
    在这里插入图片描述

  • 访问一下nginx
    成功访问到容器内部的nginx在这里插入图片描述

  • 停掉该镜像之后再次访问
    在这里插入图片描述
    会发现访问失败!!!

需要注意的问题

  1. 注意端口是否被占用,如果发现端口被占用则关闭宿主机的nginx,或者将端口号更改一下。

在这里插入图片描述

  1. 注意脚本的路径不要写错
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值