基于alpine和ubuntu为基础镜像制作Nginx业务(小节8)


highlight: a11y-dark

theme: juejin

实验一:基于alpine为基础镜像制作Nginx业务

``` /opt/dockerfile/web/tomcat/tomcat-app2# cd /opt/dockerfile/web/

创建nginx-ubuntu版本目录

/opt/dockerfile/web# mv nginx nginx-ubuntu

创建nginx-alpine版本目录

/opt/dockerfile/web# mkdir nginx-alpine 下载alpine /opt/dockerfile/web# docker pull alpine 进入alpine /opt/dockerfile/web# docker run -it alpine sh 安装vim包 / # apk add vim ``` 查看alpine版本

alpine版本官方(http://dl-cdn.alpinelinux.org/alpine/) ``` / # cat /etc/issue Welcome to Alpine Linux 3.17 Kernel \r on an \m (\l)

退出

/ # exit ```

/opt/dockerfile/web# cd nginx-alpine/ 替换源 ``` /opt/dockerfile/web/nginx-alpine# vim repositories

https://dl-cdn.alpinelinux.org/alpine/v3.17/main

https://dl-cdn.alpinelinux.org/alpine/v3.17/community

https://mirrors.aliyun.com/alpine/v3.17/main https://mirrors.aliyun.com/alpine/v3.17/community Dockerfile文件 /opt/dockerfile/web/nginx-alpine# vim Dockerfile

FROM alpine

维护者信息

LABEL maintainer="stao clark_0932@qq.com"

ADD repositories /etc/apk/repositories

RUN apk update && apk add iotop gcc libgcc libc-dev libcurl libc-utils pcre-dev zlib-dev libnfs make pcre pcre2 zip unzip net-tools pstree wget libevent iproute2 libevent-dev

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

RUN cd /usr/local/src/nginx-1.18.0 && ./configure --prefix=/apps && make && make install && ln -sv /apps/nginx/sbin/nginx /usr/sbin ``` 下载nginx包

/opt/dockerfile/web/nginx-alpine# wget http://nginx.org/download/nginx-1.18.0.tar.gz

```

运行此步时、出现下图情况、建议多试几次

/opt/dockerfile/web/nginx-alpine# docker build -t nginx-v1:1.18.0-alpine . ```

图片.png

上传文件

点击下载测试软件:static.zip和nginx.conf(1.18.0) ```

关闭守护进程、更改启动账号

/opt/dockerfile/web/nginx-alpine# vim nginx.conf

user nginx; <--启动账号 daemon off; <--关闭守护进程 /opt/dockerfile/web/nginx-alpine# vim Dockerfile FROM alpine

维护者信息

LABEL maintainer="stao clark_0932@qq.com"

ADD repositories /etc/apk/repositories

RUN apk update && apk add iotop gcc libgcc libc-dev libcurl libc-utils pcre-dev zlib-dev libnfs make pcre pcre2 zip unzip net-tools pstree wget libevent iproute2 libevent-dev

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

RUN cd /usr/local/src/nginx-1.18.0 && ./configure --prefix=/apps/nginx && make && make install && ln -sv /apps/nginx/sbin/nginx /usr/sbin

ADD nginx.conf /apps/nginx/conf ADD static.zip /apps/nginx/html

RUN cd /apps/nginx/html && unzip static.zip && rm -rf static.zip CMD ["nginx"] ```

``` /opt/dockerfile/web/nginx-alpine# vim build-command.sh

!/bin/bash

docker build -t nginx:1.18.0-alpine . ```

/opt/dockerfile/web/nginx-alpine# bash build-command.sh

/opt/dockerfile/web/nginx-alpine# docker run --rm -it -p80:80 nginx:1.18.0-alpine

图片.png

在alpine中创建账户 ``` /opt/dockerfile/web/nginx-alpine# docker run --rm -it -p80:80 nginx:1.18.0-alpine sh

/ # addgroup -g 2020 -S nginx && adduser -G nginx -s /sbin/nologin -S -u 2020 nginx / # id nginx uid=2020(nginx) gid=2020(nginx) groups=2020(nginx),2020(nginx)

/ # addgroup -g 2019 -S www && adduser -s /sbin/nologin -S -D -u 2019 -G www www / # id www uid=2019(www) gid=2019(www) groups=2019(www),2019(www)

/ # exit ```

``` /opt/dockerfile/web/nginx-alpine# vim Dockerfile FROM alpine

维护者信息

LABEL maintainer="stao clark_0932@qq.com"

ADD repositories /etc/apk/repositories

RUN apk update && apk add iotop gcc libgcc libc-dev libcurl libc-utils pcre-dev zlib-dev libnfs make pcre pcre2 zip unzip net-tools pstree wget libevent iproute2 libevent-dev && addgroup -g 2020 -S nginx && adduser -G nginx -s /sbin/nologin -S -u 2020 nginx && addgroup -g 2019 -S www && adduser -s /sbin/nologin -S -D -u 2019 -G www www

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

RUN cd /usr/local/src/nginx-1.18.0 && ./configure --prefix=/apps/nginx && make && make install && ln -sv /apps/nginx/sbin/nginx /usr/sbin

ADD nginx.conf /apps/nginx/conf ADD static.zip /apps/nginx/html

RUN cd /apps/nginx/html && unzip static.zip && rm -rf static.zip && chown nginx.nginx /apps -R CMD ["nginx"] /opt/dockerfile/web/nginx-alpine# bash build-command.sh 容器跑起来 /opt/dockerfile/web/nginx-alpine# docker run --rm -it -p80:80 nginx:1.18.0-alpine ```

测试 图片.png

再开一个新窗口

图片.png

实验二:基于ubuntu为基础镜像制作Nginx业务

进入ubuntu目录 /opt/dockerfile/web/nginx-ubuntu# pwd /opt/dockerfile/web/nginx-ubuntu 下载ubuntu:18.04 /opt/dockerfile/web/nginx-ubuntu# docker pull ubuntu:18.04 拷贝文件 /opt/dockerfile/web/nginx-ubuntu# cp ../nginx-alpine/nginx-1.18.0.tar.gz . /opt/dockerfile/web/nginx-ubuntu# cp ../nginx-alpine/nginx.conf . /opt/dockerfile/web/nginx-ubuntu# cp ../nginx-alpine/static.zip . /opt/dockerfile/web/nginx-ubuntu# cp ../nginx-alpine/Dockerfile . /opt/dockerfile/web/nginx-ubuntu# cp ../nginx-alpine/build-command.sh .

``` /opt/dockerfile/web/nginx-ubuntu# vim Dockerfile FROM ubuntu:18.04

维护者信息

LABEL maintainer="stao clark_0932@qq.com"

RUN apt update && apt install -y ntpdate tcpdump telnet traceroute nfs-kernel-server nfs-common lrzsz tree openssl libssl-dev libpcre3 libpcre3-dev zlib1g-dev gcc openssh-server iotop unzip zip make

RUN groupadd -g 2020 nginx && useradd -g nginx -s /usr/sbin/nologin -u 2020 nginx

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

RUN cd /usr/local/src/nginx-1.18.0 && ./configure --prefix=/apps/nginx && make && make install && ln -sv /apps/nginx/sbin/nginx /usr/sbin

ADD nginx.conf /apps/nginx/conf ADD static.zip /apps/nginx/html

RUN cd /apps/nginx/html && unzip static.zip && rm -rf static.zip && chown nginx.nginx /apps -R CMD ["nginx"] ```

``` /opt/dockerfile/web/nginx-ubuntu# vim build-command.sh

!/bin/bash

docker build -t nginx:1.18.0-ubuntu . 执行 /opt/dockerfile/web/nginx-ubuntu# bash build-command.sh ```

/opt/dockerfile/web/nginx-ubuntu# docker run --rm -it -p1111:80 nginx:1.18.0-ubuntu

图片.png

图片.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值