• docker源码安装nginx容器


    nginx源码下载地址

    下载包

    [root@node0 ~]# wget http://nginx.org/download/nginx-1.14.2.tar.gz
    
    

    关闭防火墙selinux上下文

    [root@node0 ~]# systemctl stop  firewalld.service 
    [root@node0 ~]# setenforce 0
    [root@node0 ~]# getenforce 
    Permissive
    

    创建安装目录

    [root@node0 ~]# tree nginx-install/
    nginx-install/
    ├── Dockerfile
    └── nginx-1.14.2.tar.gz
    
    

    编辑Dockerfile文件

    [root@node0 ~]# vim nginx-install/Dockerfile 
    
    FROM centos:latest  #调用centos最新镜像
    LABEL MAINTAINER "FXX Fxx@123.com" #作者信息
    ADD ./nginx-1.14.2.tar.gz /usr/local/src #将当前目录下源码包发送至镜像指定目录
    ENV PATH /usr/local/nginx/sbin:$PATH #设置环境变量
    RUN yum -y install bzip2 make openssl-devel pcre-devel expat-devel libtool gcc gcc-c++ libxml2-devel #安装依赖包
    RUN useradd -s /sbin/nologin nginx #添加nginx用户
    WORKDIR /usr/local/src/nginx-1.14.2 #指定工作目录
    RUN /bin/bash  ./configure --prefix=/usr/local/nginx --user=nginx  --group=nginx #编译安装1
    RUN make && make install #编译安装2
    RUN ln -s /usr/local/nginx/sbin/nginx /usr/sbin/nginx #设置软连接
    EXPOSE 80 #暴露端口以便外部访问
    CMD ["/usr/sbin/nginx", "-g" ,"daemon off;"] #启动服务
    
    

    创建nginx镜像

    docker build -t nginx/web:v1.2 nginx-install/ #读取Dockerfile指定标签nginx/web:v1.2 生成镜像
    
    

    运行容器

    [root@node0 ~]# docker run -itd -p 80:80 --name web nginx/web:v1.2 #后台运行容器web绑定宿主机80端口和容器80端口 调用镜像
    
    

    进入查看端口

    [root@node0 ~]# docker exec -it web /bin/bash #指定交互模式执行/bin/bash命令进入容器查看端口
    [root@6c7909e28e3b nginx-1.14.2]# ss -antl
    State              Recv-Q             Send-Q                          Local Address:Port                           Peer Address:Port             
    LISTEN             0                  128                                   0.0.0.0:80                                  0.0.0.0:*        
    

    外部访问验证

  • 相关阅读:
    Centos7:mariadb替换mysql
    CentOS5 部署 戴尔OMSA
    《Zero MQ》
    可扩展的Web架构和分布式系统
    队列实现
    超级好用的正则表达式网站
    <转>undefined与null的区别
    JS事件
    sublime text 3 快捷键
    设置className的方式(不使用setAttribute)
  • 原文地址:https://www.cnblogs.com/fangxinxin/p/14483688.html
Copyright © 2020-2023  润新知