Dockerfile基于Centos7安装nginx容器
更新:HHH   时间:2023-1-7


1、创建Dockerfile文件
vim Dockerfile

#设置基本的CentOS7镜像,后续指令都以这个镜像为基础
FROM centos:latest
#作者信息
MAINTAINER cjh
#安装依赖工具&删除默认YUM源,使用YUM源为国内163 YUM源;
RUN rpm --rebuilddb;yum install make wget tar gzip passwd openssh-server gcc pcre-devel openssl-devel net-tools vim -y
RUN rm -rf /etc/yum.repos.d/*;wget -P /etc/yum.repos.d/ http://mirrors.163.com/.help/CentOS7-Base-163.repo
#配置SSHD&修改root密码为Mufeng07
RUN ssh-keygen -q -t rsa -b 2048 -f /etc/ssh/ssh_host_rsa_key -N ''
RUN ssh-keygen -q -t ecdsa -f /etc/ssh/ssh_host_ecdsa_key -N ''
RUN ssh-keygen -q -t ed25519 -f /etc/ssh/ssh_host_ED25519_key -N ''
RUN echo 'Mufeng07' | passwd --stdin root
#Nginx官网下载Nginx最新版本软件;
RUN wget -P /tmp/ http://nginx.org/download/nginx-1.14.2.tar.gz
#解压Nginx软件包,隐藏WEB服务器版本号;
RUN cd /tmp/;tar xzf nginx-1.14.2.tar.gz;cd nginx-1.14.2;sed -i -e 's/1.14.2//g' -e 's/nginx\//WS/g' -e 's/"NGINX"/"WS"/g' src/core/nginx.h

#基于源码安装,创建配置文件;
RUN cd /tmp/nginx-1.14.2;./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module;make;make install
#启动Nginx服务进程,对外暴露22和80端口;
EXPOSE 22
EXPOSE 80
CMD /usr/local/nginx/sbin/nginx;/usr/sbin/sshd -D

2、生成镜像

docker build -t centos7:nginx .

3、创建容器
#基于centos7:nginx镜像创建容器

docker run -itd --privileged -p 80:80 -p 2201:22 --name=mynginx centos7:nginx

#进入容器

docker exec -it mynginx /bin/bash
返回云计算教程...