创建支持nginx服务的docker镜像

简介:

环境:

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端口访问:截图如下:

wKioL1emq8uBKogIAAB7jAA91Kk059.png-wh_50


至此,支持nginx的服务的docker镜像创建完成








      本文转自027ryan  51CTO博客,原文链接: http://blog.51cto.com/ucode/1835312
,如需转载请自行联系原作者



相关文章
|
应用服务中间件 网络安全 nginx
手把手教你使用 Docker 部署 Nginx 教程
本文详解Nginx核心功能与Docker部署优势,涵盖镜像拉取、容器化部署(快速、挂载、Compose)、HTTPS配置及常见问题处理,助力高效搭建稳定Web服务。
4638 4
|
关系型数据库 应用服务中间件 nginx
Docker一键安装中间件(RocketMq、Nginx、MySql、Minio、Jenkins、Redis)
本系列脚本提供RocketMQ、Nginx、MySQL、MinIO、Jenkins和Redis的Docker一键安装与配置方案,适用于快速部署微服务基础环境。
|
应用服务中间件 Linux nginx
在虚拟机Docker环境下部署Nginx的步骤。
以上就是在Docker环境下部署Nginx的步骤。需要注意,Docker和Nginix都有很多高级用法和细节需要掌握,以上只是一个基础入门级别的教程。如果你想要更深入地学习和使用它们,请参考官方文档或者其他专业书籍。
556 5
|
自然语言处理 大数据 应用服务中间件
大数据-172 Elasticsearch 索引操作 与 IK 分词器 自定义停用词 Nginx 服务
大数据-172 Elasticsearch 索引操作 与 IK 分词器 自定义停用词 Nginx 服务
514 5
|
缓存 负载均衡 应用服务中间件
Nginx 实现一个端口代理多个前后端服务
【10月更文挑战第19天】Nginx 的强大功能不仅限于此,它还可以与其他技术和工具相结合,为我们的应用提供更强大的支持和保障。在不断发展的互联网时代,掌握 Nginx 的使用技巧将为我们的工作和生活带来更多的便利和效益。
|
前端开发 应用服务中间件 nginx
docker安装nginx,前端项目运行
通过上述步骤,你可以轻松地在Docker中部署Nginx并运行前端项目。这种方法不仅简化了部署流程,还确保了环境的一致性,提高了开发和运维的效率。确保按步骤操作,并根据项目的具体需求进行相应的配置调整。
1766 25
|
Linux Docker 容器
Linux 中停止 Docker 服务报 warning 导致无法彻底停止问题如何解决?
在 Linux 系统中,停止 Docker 服务时遇到警告无法彻底停止的问题,可以通过系统管理工具停止服务、强制终止相关进程、检查系统资源和依赖关系、以及重置 Docker 环境来解决。通过以上步骤,能够有效地排查和解决 Docker 服务停止不彻底的问题,确保系统的稳定运行。
1451 19
|
NoSQL MongoDB 数据库
使用 docker 快速搭建开发环境的 mongodb 服务
本指南介绍如何使用 Docker 和 Docker Compose 部署 MongoDB 和 Mongo Express。首先,通过 Docker 命令分别启动 MongoDB(镜像 `mongo:7.0.14`)和 Mongo Express(镜像 `mongo-express:1.0.2-20-alpine3.19`),并配置环境变量确保两者能正确连接。接着,提供了一个 `docker-compose.yaml` 文件示例,包含 MongoDB 数据卷、健康检查及服务依赖配置,简化多容器管理。
2551 2
|
负载均衡 前端开发 JavaScript
Nginx 代理多服务
以上是 Nginx 代理多服务的几种常见方式,在实际应用中,可以根据具体的业务需求和系统架构选择合适的代理方式,并结合其他 Nginx 的功能和配置来优化和完善系统的性能和功能。