docker服务之制作镜像2

制作aphine镜像

aphine官方网址:https://www.alpinelinux.org/

1、更换aphine的源

$ docker run -it -p 8801:80 alpine:latest sh  #aphine没有bash环境,只能sh启动

$ vi /etc/apk/repositories

https://mirrors.aliyun.com/alpine/v3.10/community/
https://mirrors.aliyun.com/alpine/v3.10/main/

2、安装依赖软件

apk update

apk add iotop gcc libgcc libc-dev libcurl libc-utils libnfs make pcre pcre2 zip unzip net-tools pstree wget libevent libeve
nt-dev iproute2

3、编译安装nginx

$ cd /opt
$  wget http://nginx.org/download/nginx-1.16.1.tar.gz
$ cd nginx-1.16.1/
$ ./configure --prefix=/apps/nginx  && make && make install
$ addgroup -g 2019 -S  nginx
$   adduser -s /sbin/nologin -S -D -u 2019 -G nginx nginx
$  vi conf/nginx.conf
$  mkdir /data/nginx/html/linux37 -pv
$ chown -R nginx.nginx /data/nginx /apps/nginx
$ ln -sv /apps/nginx/sbin/nginx /usr/bin/

aphine需要存放文件:

root@docker-node1:/opt/dockerfile/system/aphine# ls
 bulid-command.sh  Dockerfile  linux37.tar.gz  nginx-1.16.1.tar.gz  nginx.conf  repositories

构建Dockerfile


FROM alpine
  
maintainer pansn "www.pansn.cn"

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

#安装编译nginx
ADD nginx-1.16.1.tar.gz /opt/
RUN cd /opt/nginx-1.16.1 && ./configure --prefix=/apps/nginx && make && make install
RUN addgroup -g 2019 -S  nginx && adduser -s /sbin/nologin -S -D -u 2019 -G nginx nginx &&  mkdir /data/nginx/html/linux37 -pv

COPY nginx.conf /apps/nginx/conf/nginx.conf
ADD  linux37.tar.gz /data/nginx/html
RUN  chown -R nginx.nginx /data/nginx /apps/nginx && ln -sv /apps/nginx/sbin/nginx /usr/bin/


EXPOSE 80 443

CMD ["nginx"]

验证:

$  cat bulid-command.sh 
#!/bin/bash
docker build -t alpine-nginx:v1.16.1 .  #.代表在本目录执行Dockerfile

$ bash bulid-command.sh 
$ docker run -it -d -p 8804:80 alpine-nginx:v1.16.1

制作Ubuntu镜像

同理:将所需要 资源放在目录中

root@docker-node1:/opt/dockerfile/system/ubuntu# ls
bulid-command.sh  Dockerfile  linux37  linux37.tar.gz  nginx-1.16.1.tar.gz  nginx.conf  sources.list

构建Dockerfile文件

FROM ubuntu:18.04
  
maintainer pansn "www.pansn.cn"

COPY sources.list /etc/apt/sources.list

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

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 -sv /apps/nginx/sbin/nginx /usr/bin && mkdir /data/nginx/html/ -pv

ADD nginx.conf /apps/nginx/conf/nginx.conf
ADD linux37.tar.gz /data/nginx/html

RUN groupadd -g 2019 nginx && useradd -g nginx -s /usr/sbin/nologin -u 2019 nginx
RUN chown nginx.nginx /apps/nginx /data/nginx -R

EXPOSE 80 443

CMD ["nginx"]                           

验证启动:

 docker run -it -d -p 8806:80 ubuntu-nginx:v1.18.04

原文地址:https://www.cnblogs.com/pansn/p/11528145.html