创建支持nginx服务的docker镜像
环境:1
2
3
4
5
# cat /etc/redhat-release
CentOS Linux release 7.2.1511 (Core)
# uname -a
Linux linux-node1 3.10.0-327.el7.x86_64 #1 SMP Thu Nov 19 22:10:57 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
#
创建目录并下载对应的软件包:
1
2
3
4
5
6
7
#mkdir -p nginx_centos
#
# ll
total 2864
-rw-r--r-- 1 root root864430 Aug6 21:12 nginx-1.9.3.tar.gz
-rw-r--r-- 1 root root 2058349 Aug6 21:39 pcre-8.37.tar.gz
#
编写Dockerfile文件:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# vim Dockerfile
#Version 1.0
#Author: Wilson
#Base images
FROM centos
#MAINTAINER
MAINTAINER Wilson
#ADD
ADD pcre-8.37.tar.gz /usr/local/src
ADD nginx-1.9.3.tar.gz /usr/local/src
#RUN
RUN yum -y install wget gcc gcc-c++ make openssl openssl-devel
RUN useradd -s /sbin/nologin -M www
#WORKDIR
WORKDIR /usr/local/src/nginx-1.9.3
RUN ./configure --prefix=/usr/local/nginx --user=www --group=www --with-http_ssl_module --with-http_stub_status_module --with-pcre=/usr/local/src/pcre-8.37 && make && make install
RUN echo "daemon off;" >>/usr/local/nginx/conf/nginx.conf
ENV PATH /usr/local/nginx/sbin:$PATH
EXPOSE 80
CMD ["nginx"]
#
创建镜像并查看:
1
2
3
4
5
6
7
8
9
# docker build -t ningx-file:v01 ./
#
# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
ningx-file v01 460b5af495c4 16 minutes ago 531.9 MB
nginx/ningx 1.9.3v02 097c98e3cb2b About an hour ago 534.6 MB
nginx 1.9.3 d2cfb9ed3f2b 6 hours ago 534.6 MB
docker.io/centos latest 970633036444 8 days ago 196.7 MB
#
利用创建的镜像启动一个容器webserver002
1
2
3
4
5
#docker run -d -p 9000:80 --name webserver002 460b5af495c4
#
# docker ps -a|grep webserver002
5ab1e96830c1 460b5af495c4 "nginx" 9 minutes ago Up 9 minutes 0.0.0.0:9000->80/tcp webserver002
说明:-p将宿主机本地端口与容器内部端口进行指定映射,这里是宿主机本地9000端口与容器内部80端口映射
验证是否能通过9000端口访问:截图如下:
至此,支持nginx的服务的docker镜像创建完成
页:
[1]