利用Dockerfile构建一个nginx容器

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
简介:

1.从远程仓库中pull centos镜像

docker pull centos

2.查询镜像

docker images

1.jpg

3.下载nginx和pcre到本地目录下

2.jpg

4.编辑Dockerfile文件

#Nginx dockerfile

#Version 1.0

#Author: kehaojian

#Base images

FROM centos

#MAINTAINER 维护人

MAINTAINER kehaojian

#ADD 添加本地文件到镜像

ADD pcre-8.37.tar.gz /usr/local/src

ADD nginx-1.9.3.tar.gz /usr/local/src

#RUN 在镜像中执行命令

RUN yum install -y wget gcc_c++ make openssl-devel

RUN useradd -s /sbin/nologin -M www

#WORKDIR 镜像中切换到目录

WORKDIR /usr/local/src/nginx-1.9.3

RUN yum install -y gcc gcc-c++

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"]

5.执行构造命令  docker build -t nginx-docker:v1 .

[root@HA2 src]# docker build -t nginx-docker:v1 .

Sending build context to Docker daemon 8.234 MB

Step 1 : FROM centos

---> 3fa822599e10

Step 2 : MAINTAINER kehaojian

---> Using cache

---> 7a13a2573c2c

Step 3 : ADD pcre-8.37.tar.gz /usr/local/src

---> Using cache

---> 27f018c7c6c2

Step 4 : ADD nginx-1.9.3.tar.gz /usr/local/src

---> Using cache

---> 0ac134999174

Step 5 : RUN yum install -y wget gcc_c++ make openssl-devel

---> Using cache

---> 2caeaffce308

Step 6 : RUN useradd -s /sbin/nologin -M www

---> Using cache

---> 50fad5999287

Step 7 : WORKDIR /usr/local/src/nginx-1.9.3

---> Using cache

---> c223ad0c0e56

Step 8 : RUN yum install -y gcc gcc-c++

---> Using cache

---> 535006fabee5

Step 9 : 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

---> Using cache

---> 2c8bfa5d7162

Step 10 : RUN echo "daemon off;">>/usr/local/nginx/conf/nginx.conf

---> Using cache

---> 3ab469fa6de1

Step 11 : ENV PATH /usr/local/nginx/sbin:$PATH

---> Using cache

---> 399e3d091604

Step 12 : EXPOSE 80

---> Using cache

---> 0e84b1ddfd98

Step 13 : CMD nginx

---> Using cache

---> 20c4d11561d3

Successfully built 20c4d11561d3

6.查看镜像 docker images

3.jpg

7.启动容器 docker run -it -d -p 8888:80 --name nginx8888 20c4d11561d3

4.jpg

8.查看容器 docker ps -l

5.jpg

9.访问http://ha2:8888

6.jpg



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

相关文章
|
29天前
|
Kubernetes 监控 数据中心
容器化与微服务:构建高效开发环境的双剑合璧
【10月更文挑战第20天】本文探讨了容器化技术(如Docker和Kubernetes)与微服务架构的结合,如何共同构建高效、灵活的开发环境。容器化解决了环境一致性、快速部署和资源隔离的问题,而微服务架构则提升了系统的可维护性和可扩展性。通过容器编排工具、CI/CD流程和服务网格,两者的结合进一步优化了开发和运维效率。文章还分享了实施这两项技术的最佳实践和职业心得。
|
27天前
|
负载均衡 应用服务中间件 nginx
基于Nginx和Consul构建自动发现的Docker服务架构——非常之详细
通过使用Nginx和Consul构建自动发现的Docker服务架构,可以显著提高服务的可用性、扩展性和管理效率。Consul实现了服务的自动注册与发现,而Nginx则通过动态配置实现了高效的反向代理与负载均衡。这种架构非常适合需要高可用性和弹性扩展的分布式系统。
28 4
|
28天前
|
负载均衡 应用服务中间件 nginx
基于Nginx和Consul构建自动发现的Docker服务架构——非常之详细
通过使用Nginx和Consul构建自动发现的Docker服务架构,可以显著提高服务的可用性、扩展性和管理效率。Consul实现了服务的自动注册与发现,而Nginx则通过动态配置实现了高效的反向代理与负载均衡。这种架构非常适合需要高可用性和弹性扩展的分布式系统。
36 3
|
1月前
|
Kubernetes Cloud Native 云计算
云原生之旅:构建你的第一个容器化应用
【8月更文挑战第75天】在数字化浪潮中,云原生技术成为推动企业创新和效率提升的关键动力。本篇文章将引导你开启云原生之旅,通过一个简易的步骤指南,帮助你构建并部署第一个容器化应用。我们将一起探索Docker容器的魅力,以及如何利用Kubernetes进行集群管理,实现服务的自动化部署、扩展和管理。无论你是云原生新手还是希望深化理解,这篇文章都将为你提供实践操作的启示和深入思考的契机。
|
1月前
|
消息中间件 NoSQL Kafka
Flink-10 Flink Java 3分钟上手 Docker容器化部署 JobManager TaskManager Kafka Redis Dockerfile docker-compose
Flink-10 Flink Java 3分钟上手 Docker容器化部署 JobManager TaskManager Kafka Redis Dockerfile docker-compose
43 4
|
1月前
|
监控 Kubernetes 测试技术
掌握Docker网络模式:构建高效容器通信
【10月更文挑战第3天】本文深入探讨了Docker的网络模式,包括它们的工作原理、使用场景以及如何配置和优化容器间的通信。希望能够帮助开发者在项目中有效地应用Docker网络模式,构建高效的容器化应用。
|
1月前
|
运维 Kubernetes 开发者
构建高效后端服务:微服务架构与容器化技术的结合
【10月更文挑战第18天】 在数字化转型的浪潮中,企业对后端服务的要求日益提高,追求更高的效率、更强的可伸缩性和更易于维护的系统。本文将探讨微服务架构与容器化技术如何结合,以构建一个既灵活又高效的后端服务体系。通过分析当前后端服务面临的挑战,介绍微服务和容器化的基本概念,以及它们如何相互配合来优化后端服务的性能和管理。本文旨在为开发者提供一种实现后端服务现代化的方法,从而帮助企业在竞争激烈的市场中脱颖而出。
26 0
|
2月前
|
供应链 安全 Cloud Native
阿里云容器服务助力企业构建云原生软件供应链安全
针对软件供应链的攻击事件在以每年三位数的速度激增,其中三方或开源软件已经成为攻击者关注的重要目标,其攻击方式和技术也在不断演进。通过供应链的传播,一个底层软件包的漏洞的影响范围可以波及世界。企业亟需更加标准和完善的供应链风险洞察和防护机制。本文将结合最佳实践的形式,面向容器应用完整的生命周期展示如何基于容器服务ACK/ACR/ASM助力企业构建云原生软件供应链安全。
|
1月前
|
运维 Kubernetes 监控
掌握Docker容器化技术:构建、部署与管理的高效实践
【10月更文挑战第14天】掌握Docker容器化技术:构建、部署与管理的高效实践
46 0
|
1月前
|
监控 应用服务中间件 网络安全
部署Django应用:使用Gunicorn和Nginx构建高效的生产环境
部署Django应用:使用Gunicorn和Nginx构建高效的生产环境
119 0
下一篇
无影云桌面