本文共 2337 字,大约阅读时间需要 7 分钟。
环境:
1 2 3 4 5 | [root@linux-node1 ~] # cat /etc/redhat-release CentOS Linux release 7.2.1511 (Core) [root@linux-node1 ~] # 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 [root@linux-node1 ~] # |
创建目录并下载对应的软件包:
1 2 3 4 5 6 7 | [root@linux-node1 ~] #mkdir -p nginx_centos [root@linux-node1 ~] # [root@linux-node1 nginx_centos] # ll total 2864 -rw-r--r-- 1 root root 864430 Aug 6 21:12 nginx-1.9.3. tar .gz -rw-r--r-- 1 root root 2058349 Aug 6 21:39 pcre-8.37. tar .gz [root@linux-node1 nginx_centos] # |
编写Dockerfile文件:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | [root@linux-node1 nginx_centos] # 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" ] [root@linux-node1 nginx_centos] # |
创建镜像并查看:
1 2 3 4 5 6 7 8 9 | [root@linux-node1 nginx_centos] # docker build -t ningx-file:v01 ./ [root@linux-node1 nginx_centos] # [root@linux-node1 nginx_centos] # 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 [root@linux-node1 nginx_centos] # |
利用创建的镜像启动一个容器webserver002
1 2 3 4 5 | [root@linux-node1 nginx_centos] #docker run -d -p 9000:80 --name webserver002 460b5af495c4 [root@linux-node1 nginx_centos] # [root@linux-node1 nginx_centos] # docker ps -a|grep webserver002 5ab1e96830c1 460b5af495c4 "nginx" 9 minutes ago Up 9 minutes 0.0.0.0:9000->80 /tcp webserver002 [root@linux-node1 nginx_centos] |
说明:-p将宿主机本地端口与容器内部端口进行指定映射,这里是宿主机本地9000端口与容器内部80端口映射
验证是否能通过9000端口访问:截图如下:
至此,支持nginx的服务的docker镜像创建完成