docker安装nginx

简介:

一、创建nginx镜像并运行容器

首先拉去Ubuntu镜像

docker pull ubuntu:14.04

创建存放文件的目录

mkdir /root/docker

创建Dockerfile文件

FROM ubuntu:14.04
MAINTAINER waitfish from dockerpool.com(feng@qq.com)
RUN \
  apt-get install -y nginx && \
  rm -rf /var/lib/apt/lists/* && \
  echo "\ndaemon off;" >> /etc/nginx/nginx.conf && \
  chown -R www-data:www-data /var/lib/nginx
RUN echo "Asia/Shanghai" > /etc/timezone && \
  dpkg-reconfigure -f noninteractive tzdata
ADD run.sh /run.sh
RUN chmod 755 /*.sh
VOLUME ["/etc/nginx/sites-enabled","/etc/nginx/certs","/etc/nginx/conf.d","/var/log/nginx"]
WORKDIR /etc/nginx
CMD ["/run.sh"]
EXPOSE 80
EXPOSE 443

创建run.sh启动文件

#!/bin/bash
/usr/sbin/nginx

创建镜像

docker build -t nginx:stable .

查看镜像是否创建成功

docker images

创建容器并启动

docker run -d -P nginx:stable

查看容器的端口号

docker ps

wKioL1lHeh6S0dpUAABXzdtiUCc356.jpg

访问本地映射到容器的端口号32770

wKiom1lHegnzvZn9AACKGG3_bpI364.jpg-wh_50

由此可以看到容器的nginx服务已经能成功访问

二、挂载本地代码目录到容器

进入容器,查看容器nginx的根目录

docker exec -ti a7aa8cad480e /bin/bash

vi /etc/nginx/sites-enabled/default

wKiom1lHfBvRxCHCAADHQCP5vuY852.jpg-wh_50

结束当前运行的容器

docker stop a7aa8cad480e

创建本地代码目录和文件

mkdir /root/docker/www

echo "<html>docker welcome you!</html>" >index.html

启动并挂载本地目录/root/docker/www到容器/usr/share/nginx/html

docker run -d -P --name=nginx -v /root/docker/www:/usr/share/nginx/html nginx:stable

查看启动情况和测试访问

wKioL1lHf0GjOVP8AABxqOU6Uwc153.jpg

至此nginx服务容器创建结束










本文转自 无心低语 51CTO博客,原文链接:http://blog.51cto.com/fengzhankui/1939834,如需转载请自行联系原作者

目录
相关文章
|
2月前
|
应用服务中间件 网络安全 nginx
手把手教你使用 Docker 部署 Nginx 教程
本文详解Nginx核心功能与Docker部署优势,涵盖镜像拉取、容器化部署(快速、挂载、Compose)、HTTPS配置及常见问题处理,助力高效搭建稳定Web服务。
1231 4
|
5月前
|
关系型数据库 应用服务中间件 nginx
Docker一键安装中间件(RocketMq、Nginx、MySql、Minio、Jenkins、Redis)
本系列脚本提供RocketMQ、Nginx、MySQL、MinIO、Jenkins和Redis的Docker一键安装与配置方案,适用于快速部署微服务基础环境。
|
2月前
|
应用服务中间件 Linux nginx
在虚拟机Docker环境下部署Nginx的步骤。
以上就是在Docker环境下部署Nginx的步骤。需要注意,Docker和Nginix都有很多高级用法和细节需要掌握,以上只是一个基础入门级别的教程。如果你想要更深入地学习和使用它们,请参考官方文档或者其他专业书籍。
166 5
|
3月前
|
关系型数据库 数据库 PostgreSQL
docker 安装 Postgres 17.6
本文介绍如何通过Docker安装和配置PostgreSQL 17.6。内容包括拉取镜像、导出配置文件、运行容器并挂载数据与配置文件目录,以及进入容器使用psql操作数据库的完整步骤,便于持久化管理和自定义配置。
473 3
docker 安装 Postgres 17.6
|
2月前
|
NoSQL 算法 Redis
【Docker】(3)学习Docker中 镜像与容器数据卷、映射关系!手把手带你安装 MySql主从同步 和 Redis三主三从集群!并且进行主从切换与扩容操作,还有分析 哈希分区 等知识点!
Union文件系统(UnionFS)是一种**分层、轻量级并且高性能的文件系统**,它支持对文件系统的修改作为一次提交来一层层的叠加,同时可以将不同目录挂载到同一个虚拟文件系统下(unite several directories into a single virtual filesystem) Union 文件系统是 Docker 镜像的基础。 镜像可以通过分层来进行继承,基于基础镜像(没有父镜像),可以制作各种具体的应用镜像。
526 5
|
2月前
|
Java Linux 虚拟化
【Docker】(1)Docker的概述与架构,手把手带你安装Docker,云原生路上不可缺少的一门技术!
1. Docker简介 1.1 Docker是什么 为什么docker会出现? 假定您在开发一款平台项目,您的开发环境具有特定的配置。其他开发人员身处的环境配置也各有不同。 您正在开发的应用依赖于您当前的配置且还要依赖于某些配置文件。 您的企业还拥有标准化的测试和生产环境,且具有自身的配置和一系列支持文件。 **要求:**希望尽可能多在本地模拟这些环境而不产生重新创建服务器环境的开销 问题: 要如何确保应用能够在这些环境中运行和通过质量检测? 在部署过程中不出现令人头疼的版本、配置问题 无需重新编写代码和进行故障修复
390 2
|
7月前
|
Ubuntu 网络协议 应用服务中间件
在 Ubuntu 上安装 Nginx
在 Ubuntu 上安装和配置 Nginx 非常简单。首先更新系统包,然后通过 `apt` 安装 Nginx,检查服务状态并配置防火墙规则。访问服务器 IP 测试是否成功显示默认页面。还可管理服务、创建虚拟主机及排查常见问题,适合新手快速上手部署高性能 Web 服务。
863 0
|
6月前
|
存储 NoSQL MongoDB
Docker中安装MongoDB并配置数据、日志、配置文件持久化。
现在,你有了一个运行在Docker中的MongoDB,它拥有自己的小空间,对高楼大厦的崩塌视而不见(会话丢失和数据不持久化的问题)。这个MongoDB的数据、日志、配置文件都会妥妥地保存在你为它精心准备的地方,天旋地转,它也不会失去一丁点儿宝贵的记忆(即使在容器重启后)。
774 4