Dockerfile尝试lnmp(更新中)

参考:https://blog.51cto.com/13917261/2174203【简单的nginx】
https://blog.51cto.com/7834466/2341381【搭建lnmp】
https://blog.csdn.net/zisefeizhu/article/details/83472190【详解dockerfile】

自己先跟着一个简单的做的还是遇到了很多坑:

  1. 首先安装nginx,然后启动必须要有个用户
  2. RUN 最后的换行符是\
  3. mkdir -p …这边创建要加-p
  4. nginx访问的html文件出现乱码,要在conf那添加个charset utf-8;
  5. 最后我的CMD一直不执行,谁知道原来是run时候多了个/bin/bash,去掉即可
FROM	centos:6.7 # 基于环境
MAINTAINER	WT # 作者

ADD		nginx-1.6.3.tar.gz	/usr/local/src #解压包到
RUN 	yum -y install wget gcc gcc-c++ make openssl-devel pcre-devel vim # yum安装
RUN     useradd -s /sbin/nologin nginx # 添加nginx用户,这个必须要的

RUN		cd /usr/local/src/nginx-1.6.3 && \
		./configure	--prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_ssl_module --with-http_stub_status_module && make && make install
# 下面是配置文件的复制粘贴
RUN 	rm -rf /usr/local/nginx/conf/nginx.conf && \
		mkdir -p /usr/local/nginx/conf/vhost
COPY 	./nginx.conf /usr/local/nginx/conf/nginx.conf
COPY 	./test.conf /usr/local/nginx/conf/vhost/test.conf


WORKDIR /usr/local/nginx/html # 进去的目录
EXPOSE		11050
CMD     ["/usr/local/nginx/sbin/nginx"] # 启动容器后执行的命令

然后cmd到我的test文件夹中执行docker build -t nginx:1.6 .生成image然后执行

docker run -dit -p 11050:11050 -v /d/www/test:/var/www/test --name=test1 nginx:1.6

本地浏览器访问127.0.0.1:11050就好了

你可能感兴趣的:(docker)