首页 Docker教程dockerfile生产案例-基于alpine 基础镜像制作nginx镜像

dockerfile生产案例-构建haproxy镜像

dockerfile生产案例- 基于ubuntu基础镜像制作nginx镜像

运维派隶属马哥教育旗下专业运维社区,是国内成立最早的IT运维技术社区,欢迎关注公众号:yunweipai
领取学习更多免费Linux云计算、Python、Docker、K8s教程关注公众号:马哥linux运维

基于alpine 基础镜像制作nginx镜像

制作alpine的自定义系统镜像
#下载alpine镜像,打新标签
[root@ubuntu1804 ~]#docker pull alpine
[root@ubuntu1804 ~]#docker tag  alpine alpine:3.11
[root@ubuntu1804 ~]#docker images
[root@ubuntu1804 ~]#docker images 
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
alpine              3.11                e7d92cdc71fe        11 days ago         5.59MB
alpine              latest              e7d92cdc71fe        11 days ago         5.59MB

#准备相关文件和dockfile
[root@ubuntu1804 ~]#cd /data/dockerfile/system/alpine
[root@ubuntu1804 alpine]#cat repositories 
http://mirrors.aliyun.com/alpine/v3.11/main
http://mirrors.aliyun.com/alpine/v3.11/community
[root@ubuntu1804 alpine]#cat Dockerfile 
FROM alpine:3.11 
LABEL maintainer="wangxiaochun <root@wangxiaochun.com>"
COPY 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 libevent-dev iproute2
[root@ubuntu1804 alpine]#cat build.sh 
#!/bin/bash
docker build -t alpine-base:3.11 .
[root@ubuntu1804 alpine]#bash build.sh
[root@ubuntu1804 alpine]#docker images  alp*
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
alpine-base         3.11                b162eecf4da9        5 minutes ago       182MB
alpine              3.11                e7d92cdc71fe        11 days ago         5.59MB
alpine              latest              e7d92cdc71fe        11 days ago         5.59MB
制作基于alpine自定义镜像的nginx镜像
#准备相关文件
[root@ubuntu1804 ~]#mkdir /data/dockerfile/web/nginx/1.16.1-alpine/
[root@ubuntu1804 ~]#cd /data/dockerfile/web/nginx/1.16.1-alpine/
[root@ubuntu1804 1.16.1-alpine]#wget http://nginx.org/download/nginx-1.16.1.tar.gz
[root@ubuntu1804 1.16.1-alpine]#echo Test Page based nginx-alpine > index.html
[root@ubuntu1804 1.16.1-alpine]#cp ../1.16.1-centos7/nginx.conf  .
[root@ubuntu1804 1.16.1-alpine]#cat nginx.conf
user  nginx;
worker_processes  1;
daemon off;
...
location / {
            root   /data/nginx/html;
...

#编定Dockerfile文件
[root@ubuntu1804 1.16.1-alpine]#vim Dockerfile 
[root@ubuntu1804 1.16.1-alpine]#cat Dockerfile
FROM alpine-base:3.11
LABEL maintainer="wangxiaochun <root@wangxiaochun.com>"
ADD nginx-1.16.1.tar.gz /usr/local/src 

RUN cd /usr/local/src/nginx-1.16.1 && ./configure  --prefix=/apps/nginx && make && make install && ln -s /apps/nginx/sbin/nginx  /usr/bin/ 
RUN addgroup  -g 2019 -S nginx && adduser  -s /sbin/nologin -S -D  -u 2019 -G nginx nginx 
COPY nginx.conf /apps/nginx/conf/nginx.conf 
ADD index.html /data/nginx/html/index.html
RUN chown  -R  nginx.nginx  /data/nginx/ /apps/nginx/
EXPOSE 80 443 
CMD ["nginx"] 

#构建镜像
[root@ubuntu1804 1.16.1-alpine]#vim build.sh
[root@ubuntu1804 1.16.1-alpine]#cat build.sh
#!/bin/bash
#********************************************************************
docker build -t nginx-alpine:1.16.1 .

[root@ubuntu1804 1.16.1-alpine]#ls
build.sh  Dockerfile  index.html  nginx-1.16.1.tar.gz  nginx.conf

[root@ubuntu1804 1.16.1-alpine]#docker images “*alpine*”
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
nginx-alpine        1.16.1              344ff9acf58b        13 seconds ago      211MB
alpine-base         3.11                b162eecf4da9        About an hour ago   182MB
alpine              3.11                e7d92cdc71fe        11 days ago         5.59MB
alpine              latest              e7d92cdc71fe        11 days ago         5.59MB

#生成容器测试镜像
[root@ubuntu1804 1.16.1-alpine]#docker run -d -p  80:80 nginx-alpine:1.16.1
1cb16e9fe6cd8e583a61c2718a92ce3031313bbf3656c2f85ac84d34ccfe7e0d
[root@ubuntu1804 1.16.1-alpine]#curl 127.0.0.1
Test Page based nginx-alpine
[root@ubuntu1804 1.16.1-alpine]#docker exec -it 1cb16e9fe6cd sh
/ # ps aux
PID   USER     TIME  COMMAND
    1 root      0:00 nginx: master process nginx
    6 nginx     0:00 nginx: worker process
    7 root      0:00 sh
   12 root      0:00 ps aux
/ # ls /data/nginx/html/ -l
total 4
-rw-r--r--    1 nginx    nginx           29 Jan 29 11:08 index.html
/ # exit
[root@ubuntu1804 1.16.1-alpine]#

本文链接:https://www.yunweipai.com/34854.html

dockerfile生产案例-构建haproxy镜像

dockerfile生产案例- 基于ubuntu基础镜像制作nginx镜像

网友评论comments

发表回复

您的电子邮箱地址不会被公开。

暂无评论

Copyright © 2012-2022 YUNWEIPAI.COM - 运维派 京ICP备16064699号-6
扫二维码
扫二维码
返回顶部