编译安装 nginx

2.3.2:编译安装 nginx:
[root@86a48908bb97 yum.repos.d]# yum install -y vim wget tree lrzsz gcc gccc++ automake pcre pcre-devel zlib zlib-devel openssl openssl-devel iproute net-tools
iotop #安装基础包
[root@86a48908bb97 yum.repos.d]# cd /usr/local/src/
[root@86a48908bb97 src]# wget http://nginx.org/download/nginx-1.16.1.tar.gz
[root@86a48908bb97 src]# tar xvf nginx-1.16.1.tar.gz
[root@86a48908bb97 src]# cd nginx-1.16.1
[root@86a48908bb97 nginx-1.16.1]# ./configure --prefix=/apps/nginx --withhttp_sub_module
[root@86a48908bb97 nginx-1.16.1]# make && make install
[root@86a48908bb97 nginx-1.16.1]# cd /apps/nginx/

2.33: 关闭nginx 后台运行

[root@86a48908bb97 nginx]# vim /apps/nginx/conf/nginx.conf
user nginx;
worker_processes auto;
daemon off;
[root@86a48908bb97 nginx]# ln -sv /apps/nginx/sbin/nginx /usr/sbin/ng
inx #创 建 n
ginx 命令软连

2.3.4:自定义 web 界面:
[root@86a48908bb97 nginx]# mkdir /apps/nginx/html/magedu
[root@86a48908bb97 nginx]# echo “magedu” >
/apps/nginx/html/magedu/index.html

2.3.5:创建用户及授权:
[root@86a48908bb97 nginx]# useradd -u 2019 nginx -s /sbin/nologin
[root@86a48908bb97 nginx]# chown nginx.nginx /usr/local/nginx/ -R

2.3.6:在宿主机提交为镜像:
[root@docker-server1 ~]# docker commit -m “test nginx” 86a48908bb97 magedunginx:v1
sha256:fce6e69410e58b8e508c7ffd2c5ff91e59a1144847613f691fa5e80bb68efbfa

2.3.:7:从自己的镜像启动容器:
[root@docker-server1 ~]# docker run -d -p 80:80 --name magedu-centos-nginx
magedu-nginx:v1 /usr/sbin/nginx
8042aedec1d6412a79ac226c9289305087fc062b0087955a3a0a609c891e1122
备注: -name 是指定容器的名称,-d 是后台运行,-p 是端口映射,jack/nginx-testimage 是 xx 仓库下的 xx 镜像的 xx 版本,可以不加版本,不加版本默认是使用
latest,最后面的 nginx 是运行的命令,即镜像里面要运行一个 nginx 命令,所以
才有了前面将/usr/local/nginx/sbin/nginx 软连接到/usr/sbin/nginx,目的就是为了
让系统可以执行此命令。

2.4:自定义 Tomcat 业务镜像:
基于官方提供的 centos、debain、ubuntu、alpine 等基础镜像构建 JDK(Java 环 境),然后再基于自定义的 JDK 镜像构建出业务需要的 tomcat 镜像。
2.4.1:构建 JDK 镜像: 先基于官方提供的基础镜像,制作出安装了常用命令的自定义基础镜像,然后
在基础镜像的基础之上,再制作 JDK 镜像、Tomcat 镜像等。
2.4.1.1:自定义 Centos 基础镜像:

docker pull centos

mkdir

/opt/dockerfile/{web/{nginx,tomcat,jdk,apache},system/{centos,ubuntu,redhat}} -
pv

cd /opt/dockerfile/system/centos/

cat Dockerfile

Centos Base Image

FROM centos:latest
MAINTAINER zhangshijie [email protected]
RUN rpm -ivh http://mirrors.aliyun.com/epel/epel-release-latest-7.noarch.rpm
RUN yum install -y vim wget tree lrzsz gcc gcc-c++ automake pcre pcre-devel zlib
zlib-devel openssl openssl-devel iproute net-tools iotop
RUN groupadd www -g 2019 && useradd www -u 2019 -g www #添加系统账户

cat build-command.sh #通过脚本构建镜像

#!/bin/bash
docker build -t centos-base:v1 .

bash build-command.sh #通过脚本还行镜像构建

自定义基础镜像制作过程中:

2.4.1.2:执行构建 JDK 镜像:

cd /opt/dockerfile/web/jdk/

cat Dockerfile

#JDK Base Image
FROM centos-base:v1
MAINTAINER zhangshijie “[email protected]
ADD jdk-8u212-linux-x64.tar.gz /usr/local/src/
RUN ln -sv /usr/local/src/jdk1.8.0_212 /usr/local/jdk
ADD profile /etc/profile
ENV JAVA_HOME /usr/local/jdk
ENV JRE_HOME $JAVA_HOME/jre
ENV CLASSPATH J A V A H O M E / l i b / : JAVA_HOME/lib/: JRE_HOME/lib/
ENV PATH P A T H : PATH: JAVA_HOME/bin

发布了52 篇原创文章 · 获赞 1 · 访问量 1688

猜你喜欢

转载自blog.csdn.net/wx25051/article/details/104443176