Dockerfile基於Centos7安裝nginx容器

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章