2211we 发表于 2016-4-18 09:22:31

dockerfile示例-安装nginx

                      Dockerfile创建镜像 – Dockerfile示例安装nginx


先下载nginx的配置文件到当前目录下 wget http://www.apelearn.com/study_v2/.nginx_conf
vim Dockerfile //内容如下
#############################################################
# Dockerfile to build Nginx Installed Containers
# Based on CentOS
#############################################################
#Set the base image to CentOS
FROM centos#基于docker images的一个centos镜像。
#File Author / Maintainer
MAINTAINER wyp wyp@qq.com   #作者信息
#Install necessary tools    #下列包,也可写在一行。
RUN yum install -y pcre-devel wget net-tools gcc
RUN yum install -y zlib zlib-devel make
RUN yum install -y openssl-devel
# Install Nginx
ADD http://nginx.org/download/nginx-1.8.0.tar.gz .   #.意思为,下载源码到当前目录下
RUN tar zxvf nginx-1.8.0.tar.gz
RUN mkdir -p /usr/local/nginx
RUN cd nginx-1.8.0.tar.gz && ./configure --prefix=/usr/local/nginx && make && make install
RUN rm -f /usr/local/nginx/conf/nginx.conf#删除旧配置文件
COPY .nginx_conf /usr/local/nginx/conf/nginx.conf #复制下载的配置到目的路径
# Expose ports#暴露80端口,因为做的是web服务器
EXPOSE 80
# Set the default command to execute
# when creating a new container
ENTRYPOINT /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf


创建镜像:
docker build -t centos_nginx . #指定镜像名称,后面的.指的是生成的镜像在当前目录下
执行后,可以看到执行的每一个步骤。
docker images 可以看到我们新建的镜像

进入容器
docker run -itd -P centos_nginx bash   #-P可以把容器80端口随机映射到宿主机一个端口上。
docker exec -it 容器ID bash    #进入容器,但是还没有启动nginx
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf#启动nginx
curl localhost验证容器web是否正常
退出容器,curl localhost:端口验证容器web是否正常,随机的端口可以docker ps查看

                   

页: [1]
查看完整版本: dockerfile示例-安装nginx