docker安装nginx

本文详细介绍了如何通过Docker安装和自定义配置Nginx,包括从下载镜像、制作镜像到容器操作,涉及知识点有:yum安装、Dockerfile编译、数据卷和网络配置。适合学习者理解Docker工作原理和命令实践。
摘要由CSDN通过智能技术生成

docker安装nginx

本次安装是自己搭建nginx镜像,没有采用github库直接下载。
目的是充分了解docker的工作原理和命令。用到的知识点有:安装操作、镜像操作、容器操作、容器打包、数据券、网络等。
本文的安装采用两中方式(手动安装采用yum安装,dockerfile采用源码安装),启动方式也是两种。具体的使用,可以根据自己的实际情况配置

安装docker

下载docker(指定阿里云)

curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun

在这里插入图片描述
至此docker安装完成

安装nginx

需要先下载nginx: nginx .
然后下载centos镜像
菜鸟教程.

docker pull centos:centos7.9.2009

注:不要使用docker pull centos或docker pull centos:latest,因为它代表拉去最后一个版本,这样以后使用镜像都会从网上拉去的
在这里插入图片描述
至此centos镜像和nginx下载完成。
开始镜像制作

开始nginx镜像制作

启动并进入到容器中

docker run -it --name mynginx  centos:centos7.9.2009 /bin/bash

命令解释:run 运行
-i : 表面操作
-t : 终端
–name :容器名字
centos:centos7.9.2009 所用镜像以及它的版本
/bin/bash:交互模式进入系统。
在这里插入图片描述
至此进入容器中。
之后的配置和普通nginx的安装方式一样:安装依赖、安装配置等。
在此使用yam源下载nginx
添加Nginx到YUM源

yum install epel-release

安装nginx

yum install -y nginx

修改参数

 vi /etc/nginx/nginx.conf 
 在user下面添加(目的是前端启动)
 daemon off;
nginx -t  #检查nginx配置文件语法
nginx #启动nginx

在这里插入图片描述

将nginx.conf拷贝到主机
在主机中(用于修改配置)

docker cp 80a5fef538be:/etc/nginx/nginx.conf /usr/local/nginx/nginx.conf

启动成功

另起一进程

docker ps -a #可以看定正在运行的容器

打包

docker commit -a "lqb" -m "add new nginx docker images" mynginx mynginx:v1

在这里插入图片描述

解释:
commit 从容器创建一个新的镜像
-m :-a :提交的镜像作者;提交时的说明文字;
第一个mynignx:容器名称
mynginx:v1:镜像名和版本号

docker images #可以看到新生成的镜像

运行自己的镜像

挂载数据卷和开放端口

docker run -d -p 80:80 -v /usr/local/nginx/nginx.conf:/etc/nginx/nginx.conf  -v /usr/local/nginx/html/:/usr/share/nginx/html/ --name web_nginx mynginx:v1  nginx

解释:
-d 后台一直运行(不加则前端运行)
-p 端口映射(主机端口:容器端口)
-v 数据卷(主机文件:容器中的文件)
–name :容器名称
mynginx:v1 镜像名称和版本
nginx :启动容器中的nginx
在此不加-it /bin/bash 是不进入容器中

至此启动完成
在这里插入图片描述

访问服务器端口:
在这里插入图片描述
至此nginx配置完成
注意:docker容器停止后(不删除),再次启动,里面的应用会自动启动,这相当于docker记录了应用的状态,启动时会自动恢复状态。

生成dockerfile

生成的docker是自定义安装的

FROM centos:centos7.9.2009
MAINTAINER lqb "xxxx@qq.com"
RUN yum install -y pcre-devel wget net-tools gcc zlib zlib-devel make openssl-devel
ADD http://nginx.org/download/nginx-1.20.1.tar.gz .
RUN tar zxvf nginx-1.20.1.tar.gz
RUN mkdir -p /usr/local/nginx
RUN cd nginx-1.20.1 && ./configure --prefix=/usr/local/nginx && make -j 4 && make -j 4  install
RUN rm -fv /usr/local/nginx/conf/nginx.conf
ADD http://www.apelearn.com/study_v2/.nginx_conf  /usr/local/nginx/conf/nginx.conf
EXPOSE 80
ENTRYPOINT /usr/local/nginx/sbin/nginx

解释:
FROM :基础镜像
MAINTAINER:用户信息
RUN 运行一个命令
ADD 主机构建环境(上下文)目录中的文件和目录、以及一个URL标记的文件 拷贝到镜像中
EXPOSE 对外端口
ENTRYPOINT 执行命令(启动nginx)
打包

docker build -t centos_nginx:v1 .

使用镜像 生成容器

docker run -d -p 80:80 -v /usr/local/nginx/nginx.conf:/etc/nginx/nginx.conf  -v /usr/local/nginx/html/:/usr/local/nginx/html/ --name web_nginx mynginx:v1

参考文献

docker菜鸟教程:https://www.runoob.com/docker/docker-tutorial.html

github库的使用

https://hub.docker.com/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值